Extjs и Google Maps
-
26-10-2019 - |
Вопрос
Я пытаюсь выяснить, насколько хорошо играют карты Extjs и Google. Я играю с этим примером: 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)
);
Но там терпит неудачу. Что я делаю не так?
Решение
Поскольку вы звоните 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.
Другие советы
Ну ... вы пытаетесь использовать Google Maps V3, в то время как пример EXTJS построен с GMAP V2.
Кроме того, как указывает Zenmaster, у вас есть какой -то беспорядок в вашей попытке использовать GMAP API. Откуда, откуда взятая переменная GMAP? Либо использовать new google.maps.LatLng
в V3, или new GLatLng
в V2.