2012-01-23 2 views
1

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

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

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

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

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

Благодаря Бикаш

ответ

0

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

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

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

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

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

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

Thanks Bikash

Смежные вопросы