Как добавить собственные названия улиц на Google Maps?

Итак, вы хотите добавить собственные названия улиц или другие надписи на карту Google? Например, в этом месте. Изучив текущую (3.6) google map js API, у вас есть эти возможные варианты:

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 - это «... прямоугольное изображение, накладываемое на карту ...». Все очень просто.

Создать изображение:

  1. Откройте свой Google Планета Земля (убедитесь, что в настройках широты и долготы заданы значения Меркатора) и перейдите к своему местоположению.
  2. Добавьте белое изображение размером один пиксель в свою область и сделайте его прозрачным на 33%.
  3. Перейдите на вкладку свойств / места наложения вашего изображения и скопируйте оттуда широту / долготу.
  4. Сделайте снимок экрана в Google Планета Земля и вставьте его в свой любимый графический редактор.
  5. Обрежьте изображение до границ вашей белой прозрачной области
  6. Добавьте слой, куда вы добавите свои собственные метки и добавите их
  7. Выключите базовый слой и сохраните результат как 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);
});

Пользовательское название улицы на Картах Google

OverlayView вы можете попробовать сами.

ps: это правильный формат для статьи? Или, может быть, это должна быть вики сообщества?


person gaRex    schedule 10.11.2011    source источник


Ответы (1)


Я создал утилиту MapLabel библиотека некоторое время назад. Хотя в нем нет возможности поворота или ввода текста по контуру (я бы хотел, чтобы вы его добавили!), Он позволяет размещать текст на карте.

person Chris Broadfoot    schedule 12.02.2012
comment
Хороший. А как насчет кроссбраузера? Какие браузеры он поддерживает? А как насчет вращения? Если ваше решение сможет вращаться - этого не должно быть (по какому-то пути). - person gaRex; 13.02.2012
comment
Любой браузер, поддерживающий Canvas. К сожалению, ротации нет - хотелось бы, чтобы кто-нибудь это добавил. - person Chris Broadfoot; 14.02.2012