Итак, вы хотите добавить собственные названия улиц или другие надписи на карту Google? Например, в этом месте. Изучив текущую (3.6) google map js API, у вас есть эти возможные варианты:
- KmlLayer (сейчас не работает)
- GroundOverlay (работает!)
- OverlayView (должен работать)
KmlLayer "... добавляет географическую разметку на карту из файла KML, KMZ или GeoRSS, который размещен на общедоступном веб-сервере ...". Мы можем попробовать эту последнюю функцию, чтобы добавить путь с помощью ярлык. И он будет работать в Google Планета Земля. Но если путь слишком короткий - Google Планета Земля не покажет нам ярлык. Временное решение для короткого пути - просто сделать его длинным, добавив несколько раз начальную и конечную точки:
<coordinates>
55.043196,82.907145 55.043473,82.909902
55.043196,82.907145 55.043473,82.909902
55.043196,82.907145 55.043473,82.909902
55.043196,82.907145 55.043473,82.909902
</coordinates>
Тогда мы уже видим нашу красивую персонализированную метку в Google Планета Земля, но не в Google Map. Наиболее вероятная причина заключается в том, что последняя функция Google Планета Земля слишком свежа . В настоящее время это неудачный способ, но может быть позже, модуль рендеринга KML карты Google учтет эту функцию.
GroundOverlay - это «... прямоугольное изображение, накладываемое на карту ...». Все очень просто.
Создать изображение:
- Откройте свой Google Планета Земля (убедитесь, что в настройках широты и долготы заданы значения Меркатора) и перейдите к своему местоположению.
- Добавьте белое изображение размером один пиксель в свою область и сделайте его прозрачным на 33%.
- Перейдите на вкладку свойств / места наложения вашего изображения и скопируйте оттуда широту / долготу.
- Сделайте снимок экрана в Google Планета Земля и вставьте его в свой любимый графический редактор.
- Обрежьте изображение до границ вашей белой прозрачной области
- Добавьте слой, куда вы добавите свои собственные метки и добавите их
- Выключите базовый слой и сохраните результат как png, например overlay.png.
Добавьте получившееся изображение на карту Google как:
google.maps.event.addDomListener(window, 'load', function() {
var mapDiv = document.getElementById('map'),
opts = {mapTypeId: google.maps.MapTypeId.HYBRID},
map = new google.maps.Map(mapDiv, opts),
area = new google.maps.LatLngBounds(
new google.maps.LatLng(55.042297, 82.906337),
new google.maps.LatLng(55.043862, 82.910473)
),
overlay = new google.maps.GroundOverlay(
'overlay.png', area, {map: map, clickable: false}
);
map.fitBounds(area);
});
OverlayView вы можете попробовать сами.
ps: это правильный формат для статьи? Или, может быть, это должна быть вики сообщества?