Select to view content in your preferred language

Current Location

1932
2
06-27-2012 03:57 PM
akashmagoon
Emerging Contributor
Hello

Can you please help me..

I want the browser to get the current location of the user and make a circle marker at their location..

Something like
http://help.arcgis.com/en/webapi/javascript/arcgis/help/jssamples_start.htm#jssamples/mobile_geoloca...







<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
    <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
    <title></title>
    <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.5/js/dojo/dijit/themes/tundra/tundra.css">
    <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8">
    <style>
      html, body { height: 100%; width: 100%; margin: 0; padding: 0; }
      #map{ margin: 0; padding: 0; }
    </style>
    <script>var dojoConfig = { parseOnLoad: true };</script>
    <script src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.5"></script>
    <script>
      dojo.require("dijit.layout.BorderContainer");
      dojo.require("dijit.layout.ContentPane");
      dojo.require("esri.map");
     
      var map;
      function init() {
var initExtent = new esri.geometry.Extent({"xmin":-13114922,"ymin":-5500000,"xmax":9292585,"ymax":10351408, "spatialReference":{"wkid":102100}});
map = new esri.Map("map",{extent:initExtent});
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer");
map.addLayer(basemap);

dojo.connect(map, "onLoad", function() {
 
  var points = {
   "points": [[-122.63,45.51],[-122.56,45.51],[-122.56,45.55],[-122.62,45.00],[77,19]],
   "spatialReference": ({ "wkid": 4326 })
  };
  var mp = new esri.geometry.Multipoint(points);
  var wm_mp = esri.geometry.geographicToWebMercator(mp);
 
  var sms = new esri.symbol.SimpleMarkerSymbol();
  var infoTemplate = new esri.InfoTemplate("Bob","Lives in the USA");
  var graphic = new esri.Graphic(wm_mp, sms, '', infoTemplate);
  map.graphics.add(graphic);
 
  dojo.connect(map.graphics, "onMouseOver", function(evt) {
                  var g = evt.graphic;
                  map.infoWindow.setContent(g.getContent());
                  map.infoWindow.setTitle(g.getTitle());
                  map.infoWindow.show(evt.screenPoint,map.getInfoWindowAnchor(evt.screenPoint));


               });
               dojo.connect(map.graphics, "onMouseOut", function() {map.infoWindow.hide();} );

});
}
      dojo.ready(init);

dojo.require("esri.map");



      function init() {

        var map = new esri.Map("map");

        dojo.connect(map, "onLoad", function() {

          //after map loads, connect to listen to mouse move & drag events

          dojo.connect(map, "onMouseMove", showCoordinates);

          dojo.connect(map, "onMouseDrag", showCoordinates);

        });



        var tiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");

        map.addLayer(tiledMapServiceLayer);

      }



      function showCoordinates(evt) {

        //get mapPoint from event

        //The map is in web mercator - modify the map point to display the results in geographic

        var mp = esri.geometry.webMercatorToGeographic(evt.mapPoint);

        //display mouse coordinates

        dojo.byId("info").innerHTML = mp.x + ", " + mp.y;

      }



      dojo.addOnLoad(init);

    </script>
  </head>
 
  <body class="tundra">
    <div data-dojo-type="dijit.layout.BorderContainer"
         data-dojo-props="design:'headline',gutters:false"
         style="width: 100%; height: 100%; margin: 0;">
      <div id="map"
           data-dojo-type="dijit.layout.ContentPane"
           data-dojo-props="region:'center'">
      </div>
    </div>
  </body>
</html>
0 Kudos
2 Replies
RahulMetangale1
Frequent Contributor
You can use Geolocation API (HTML5 feature). Following link might help
http://www.sitepoint.com/using-the-html5-geolocation-api/#fbid=Yhr_y_Gh3uS
0 Kudos
KellyHutchins
Esri Notable Contributor
Here's a link to a sample that shows how to add a marker at the user's current location. This sample uses the Geolocation API that Rahul mentioned in his post:

http://help.arcgis.com/en/webapi/javascript/arcgis/help/jssamples/exp_geolocate.html
0 Kudos