2011-09-06 2 views
0

ExtJS와 Google지도가 얼마나 잘 작동하는지 파악하려고합니다. 이 예를 가지고 놀고 있습니다. http://dev.sencha.com/deploy/ext-4.0.0/examples/window/gmap.htmlExtJS 및 Google지도

지도를 주소 지정하려고 할 때 길을 잃을 수 있습니다. 나는 줌 레벨을 프로그램 적으로 변경하고, 다각형을 그려서지도 상에 포인트를 넣고 싶습니다.

나는 연주 했으므로 코드가 예제와 동일하지 않습니다.

양식 패널을 정의했으며이 패널에지도를 포함했습니다. 나는지도를 기다리는 청취자가 렌더링 할 수 있습니다

listeners:{ 
      afterrender: { 
       fn: setupWindow, 
       scope: this 
      } 
     } 

다음, setupWindow 내부에 난이 있습니다

gmap.setzoom(25); 
mapBounds = new gmap.LatLngBounds(
       new gmap.LatLng(responseJson.minY, responseJson.minX), 
       new gmap.LatLng(responseJson.maxY, responseJson.maxX) 
       ); 

을하지만 거기에 실패합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? -

+0

(실제로는 질문에 대한 답변이 아니기 때문에 의견을 추가하십시오.) gmap v3 + 멋진 벡터 레이어에 액세스 할 수있는 OpenLayers를 사용해 보셨습니까? – pef

+0

내가 가지고 있었지만 예제는 v2에만 해당 되었습니까? – jeffkolez

+0

클릭 이벤트를 처리하는 방법 – Sultan

답변

2

는 문제가 하나 전에 라인에 gmap.setZoom(25)를 호출하기 때문에 나는 gmap 그래서 같은 GMap2의 인스턴스라고 가정 : 그건 참으로 경우라면

var gmap = new GMap2(...);

이 - 다음 new gmap.LatLngBounds 또는 new gmap.LatLng해야 두 코드 모두 map의 기능이므로 (코드에 추가하지 않는 한) 실패합니다.

당신이 아마 대신해야 할 것은 :

mapBounds = new GLatLngBounds(
        new GLatLng(responseJson.minY, responseJson.minX), 
        new GLatLng(responseJson.maxY, responseJson.maxX) 
       ); 

편집 : 내 가정을 명확히하기 - 당신은 당신이 API의 V2로 이동하려고하는 것으로 보인다 사용하려고하는 ExtJS로 예로부터는.

+0

아마도 GMaps도 이해할 수 없지만 여기에는 새로운 GMap2 (...); 나는 이것을 시도했다 : var gmap = ext.get ("gmappanel") – jeffkolez

+0

나는 당신의 질문을 이해하지 못한다. 'GMap2 (...) '에서 줄임표가 무엇을 의미하는지 묻고 있습니까? 이 경우 - 나는 gmap 인스턴스를 어떻게 인스턴스화했는지 간단하지 않습니다. 'Ext.get ('gmappanel')'은 단순히 다른 곳에서 만든 것을 의미합니다. 아마도 ExtJS 응용 프로그램의 일부 패널의'initComponent'에 있습니다. – ZenMaster

+0

나는 바보가되고 있었다. 나는 네가 의미하는 바를 알아 냈다. 당신의 도움을 주셔서 감사합니다. – jeffkolez

1

음 ... ExtJS 예제가 GMap v2로 빌드 된 반면 Google Maps v3을 사용하려고합니다.

또한 ZenMaster가 지적한 것처럼 GMap API를 사용하려는 시도에서 어떤 종류의 혼란이 있습니다. gmap 변수의 원래 위치는 어디입니까? v3에 new google.maps.LatLng을 사용하거나 v2에 new GLatLng을 사용하십시오.

+0

아 ... 알겠습니다. LatLng는 V3 만 ... V3 실제로입니다. – ZenMaster