1

I am using Arcgis javascript API for my map where map is coming from arcgis online using map by ID. Now I want to set map center using Lat long,For this I am using this method to set map center

 map.centerAt(42.58,78.25);

But this method is not working for me. Does anybody know how to set map center using Lat Long In Arcgis javascript API.

PolyGeo
65.5k29 gold badges115 silver badges350 bronze badges
asked Sep 29, 2014 at 9:11

2 Answers 2

6

the centerAt() method expects a point geometry object.

//pass long,lat and don't forget to load the appropriate AMD module
map.centerAt(new Point(-118.15, 33.80));
//or
map.centerAt(new Point(-118.15, 33.80, new SpatialReference(4326)));

this is mentioned in the API reference: https://developers.arcgis.com/javascript/jsapi/map-amd.html#centerat

the object can be constructed using WGS84 coordinates without specifying a spatial reference, but it doesn't hurt anything to include it.

https://developers.arcgis.com/javascript/jsapi/point-amd.html

answered Sep 29, 2014 at 23:59
5
  • Since my reputation is < 50 I can't add a comment to the answer provided, however, I would like to point out that second version of the map.centreAt does not work. It should be: map.centerAt(new Point(-118.15, 33.80, new SpatialReference({wkid: 4326}))); Note the braces around wkid: 4326 this defines the object passed in to the SpatialReference constructor. Without that javascript assumes they are two parameters being passed in and should be separated with a comma. There is also an extra closing parenthesis required. Commented Nov 10, 2016 at 22:34
  • It says Point is not defined. And when I add it to require and function statements, it says Point is not a constructor. Commented Mar 13, 2020 at 8:16
  • 1
    I'd willing to bet that it's because the order of the AMD modules you're importing doesn't match the order of the variable names you refer to them by in the callback. Commented Mar 14, 2020 at 14:20
  • thanks for catching that typo. 4 years later, but I just fixed my snippet to just use a number. Commented Mar 14, 2020 at 14:21
  • @JohnGravois you were damn right! It was just a mismatch between the two lists. Thank you! Commented Mar 17, 2020 at 13:26
4

Warning: you need to

 require(["esri/geometry/Point"], function(Point) { /* code goes here */ });

1) arcgis js api v3.28 only,

For example, I want map center at lng, lat with zoom level 18

Recommend:

map.centerAndZoom(new Point(lng, lat), 18);

Alternative: (sometimes, it failed to move the map, maybe ESRI need to fix bug for Javascript api v3.24)

map.centerAt(new Point(lng, lat));
//or
// map.centerAt(new Point(lng, lat, new SpatialReference({wkid: 4326})));
map.setZoom(18);

2) arcgis js v4.11 only

 view.center = [_center_long, _center_lat]
 view.zoom = _center_zoom;
answered May 29, 2018 at 18:14
0

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.