панорамирование и масштабирование таблицы фьюжн

В настоящее время я делаю приложение для отслеживания и использую таблицу слияния карт Google для отображения геокодированных данных. он очень быстрый и простой в использовании, но у меня возникают проблемы с масштабированием и панорамированием карты в зависимости от того, где пользователь нажимает на внешнюю ссылку JavaScript. Я использую данные из королевской почты для отображения полигонов в зависимости от интересующих пользователей, и теперь мне нужно иметь возможность отображать информационное окно на основе события клика, сгенерированного из внешней ссылки. Я могу получить latlng из области, которую пользователь хочет просмотреть, и создать собственное информационное окно, но оно не всегда находится в центре многоугольника.

Мои вопросы сейчас:

Есть ли способ вызвать информационное окно по умолчанию из таблиц слияния, щелкнув внешнюю ссылку JavaScript?

Могу ли я центрировать и масштабировать карту в зависимости от выбора пользователем области путем запроса сводных таблиц?

Буду признателен, если кто-нибудь знает решение или предоставит мне несколько советов относительно того, как мне реализовать эту функциональность в моем приложении.

Спасибо, Бикаш.


person Bikash Poudel    schedule 23.01.2012    source источник


Ответы (1)


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

Ответ на мой первый вопрос: нет, для вашего приложения не существует стандартного или встроенного метода открытия информационного окна в слое слияния карт Google по внешней ссылке, но если вам это нужно, это простой трюк в вашей базе данных или, по крайней мере, в таблицах слияния вам нужно иметь содержимое информационного окна, и в зависимости от того, где пользователь нажимает на слой, вы можете создать прослушиватель, который получает идентификатор строки слоя и получает содержимое информационного окна и отображает его на широте, долго вы хотели

listener=google.maps.event.addListener(layer, 'click', function(e){
var rowId= e.row['id'].value ;
//use rowId to query fusion tables or your database and display results to the user
//simple ajax should be able to handle this 
});

Ответ на мой второй вопрос снова отрицательный, но для этого также есть несколько обходных путей, один из методов, которому я следовал:

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

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

Спасибо, Бикаш.

person Bikash Poudel    schedule 19.02.2012