Данное решение не сработало для меня, потому что вышележащий div создает мертвую точку на карте. Лучшим решением для моего проекта с использованием API Google Maps V3 для Google Maps было создание сетки на карте в качестве маркера с 1 пиксельной формой прямоугольника. Затем используйте событие bounds_changed для переноса маркера.
Изображение с сеткой 63 x 63 png. (Изображения/reticle.png)
Определить изображение маркера и формы ...
var reticleImage = new google.maps.MarkerImage(
'images/reticle.png', // marker image
new google.maps.Size(63, 63), // marker size
new google.maps.Point(0,0), // marker origin
new google.maps.Point(32, 32)); // marker anchor point
var reticleShape = {
coords: [32,32,32,32], // 1px
type: 'rect' // rectangle
};
После создания нашей карты (main_map) мы добавим маркер ...
reticleMarker = new google.maps.Marker({
position: latlng,
map: main_map,
icon: reticleImage,
shape: reticleShape,
optimized: false,
zIndex: 5
});
Здесь var latlng - это тот же объект LatLng, который используется для создания main_map. ZIndex должен быть больше, чем любой другой маркер zIndex's, чтобы сохранить сетку сверху.
Затем мы добавляем обработчик события, который вызывается при запуске карты bounds_changed.
google.maps.event.addListener(main_map, 'bounds_changed', centerReticle);
и, наконец, у нас есть функция centerReticle().
function centerReticle(){
reticleMarker.setPosition(main_map.getCenter());
}
Поскольку мы что-нибудь еще с «bounds_changed» событие мы можем привести в порядок код, передавая анонимную функцию на вызов AddListener не делает ... Это удерживает нас от того, чтобы определить centerReticle() функция.
google.maps.event.addListener(main_map, 'bounds_changed',
function(){reticleMarker.setPosition(main_map.getCenter());});
Это действительно работает довольно пятно. Надеюсь, это поможет другим.
Спасибо.
Пропустить
Фантастично, да, мое решение создало мертвое место, которое довольно раздражает, хотя и мало. Дайте мне немного белого цвета, чтобы проверить это ... –
Привет, Дрю, я рад, что вы заметили мой ответ, потому что это, кажется, трюк. Как обычно, я нашел ваш вопрос, ища ответ, но никогда не получал вышележащего div от верхнего левого угла карты, прежде чем понял, что я не буду доволен этим. В настоящее время я работаю над PythyTwits, веб-приложением Twitter. Я уклоняюсь от термина геокодирования, потому что люди хотят сделать все это научно. Я не занимаюсь геокодированием, я просто собираю LatLng и кладу их на карту. Вот пара твитов со скриншотами. - http://bit.ly/iuo9Ia http://bit.ly/iTOjeb – BentFX
Я только что попробовал это, и он отлично работает - не больше мертвой точки! Большое спасибо. Желание, чтобы я мог проголосовать за это дважды :) –