ExtJS и Google Maps - PullRequest
       15

ExtJS и Google Maps

0 голосов
/ 06 сентября 2011

Я пытаюсь понять, насколько хорошо ExtJS и Google Maps играют вместе. Я играю с этим примером: http://dev.sencha.com/deploy/ext-4.0.0/examples/window/gmap.html

Я теряюсь, когда пытаюсь обратиться к карте. Я хочу иметь возможность программно вносить изменения в уровень масштабирования, рисовать полигоны и ставить точки на карте.

Я играл, поэтому мой код не такой, как в примере.

Я определил панель формы и вложил в нее карту. У меня есть слушатель, который ждет отрисовки карты:

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)
                );

Но там не получается. Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

Поскольку вы звоните 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)
                );

РЕДАКТИРОВАТЬ : чтобы уточнить мое предположение - из примера ExtJS, который вы пытаетесь использовать, кажется, что вы пытаетесь использовать API V2.

1 голос
/ 06 сентября 2011

Хорошо ... вы пытаетесь использовать Google Maps v3, в то время как пример ExtJS построен на GMap v2.

Кроме того, как указывает ZenMaster, у вас есть какая-то путаница в вашей попытке использоватьAPI GMap.Откуда берется переменная gmap?Либо используйте new google.maps.LatLng в v3, либо new GLatLng в v2.

...