2014-01-14 5 views
1

저는 ESRI의 JavaSCript API를 처음 접했고 사용의 용이성과 속도에 매우 감명 받았습니다. 대화식 데이터 포털의 일환으로 주, 카운티 및 FIP를 반환하는 공간 쿼리의 일부로 십진수로 위도와 경도를 입력했습니다. 그 부분은 잘 작동하지만, 추가 된 기능으로 입력 된 좌표 위치 (완료)를 표시하는 기존 맵에 도트 그래픽을 그려서 합리적인 범위로 점을 가운데 맞춤 및 확대/축소하려고합니다.ArcGIS JavaScript API (3.8) centerAndZoom이 작동하지 않는 것 같습니다.

여기서 centerAndZoom 메서드가 논리적 인 선택이지만 작동하지 않는 것 같습니다. 내 감각은지도가 새로 고쳐 져야하지만 나는 이것을 알아낼 수 없다는 것입니다.

나는 근본적인 것이 빠져 있다고 확신한다. 시간 내 미리 감사드립니다. JS의 API에 Point 작동하지 않습니다 시간의

function DrawPointAndZoom() { 

    // Get currently entered lat/long. 
    var lat = $('#SiteLatitude').attr('value'); 
    var long = $('#SiteLongitude').attr('value'); 

    var latLongPoint = new esri.geometry.Point(long, lat, new esri.SpatialReference({ wkid: 4326 })); 

    //Draw point 
    var symbol = new esri.symbol.SimpleMarkerSymbol().setSize(8).setColor(new dojo.Color([255, 0, 0])); 
    var graphic = new esri.Graphic(latLongPoint, symbol); 


    var infoTemplate1 = new esri.InfoTemplate(); 
    infoTemplate1.setTitle("point1"); 
    infoTemplate1.setContent("test point 1"); 

    graphic.setInfoTemplate(infoTemplate1); 

    map.graphics.add(graphic); 
    map.centerAndZoom(latLongPoint, 15); 
} 

답변

5

95 %, 아무것도는 spatialreference 잘못되는 때문이다. :)지도의 SR (map.spatialreference.wkid가) (당신이 여기 정의한대로, 4326.) 지점의 같은 것을 당신은지도 중 하나를 사용하는 경우 모두가 좋아하는 기능, geographicToWebMercator을 사용해야 할 수도

확인의 일반적인 웹 메르 케이터 좌표 시스템.


토니의 코멘트/대답에서 세부 편집 :

var webMercPoint = esri.geometry.geographicToWebMercator(latLongPoint) 
    {Missing code here} 
map.centerAndZoom(webMercPoint, 15); 
+0

Hello juffy,지도 공간 참조에 문제가 있습니다. 좌표 중 하나가 24607.8257, 46287.3873이라고 가정 해 봅시다. 그러나 싱가포르지도의 위도와 경도는 1.352083000000000000, 103.819836000000010000입니다. 위치로 확대/축소 기능을 만들려고해도 작동하지 않습니다. –

+0

안녕 Gwen - 분명한 질문은 SR은 그 좌표 ('24607.8257, 46287.3873')입니까? 웹 메르카토르 ('103.819836,1.352083')에서 나에게 ('103653317150513')를 제공하기 때문에 명확하지 않습니다. – Juffy

0

예! 응답 시간을내어 주셔서 감사합니다. 나는 그 구멍을 어제 내려 가서 webMercatorPoint로 시험해 보았습니다 ... 그리고 비올라가 효과가있었습니다!

var webMercPoint = esri.geometry.geographicToWebMercator(latLongPoint) 
    {Missing code here} 
map.centerAndZoom(webMercPoint, 15); 

많은 감사!