Как идеально расположить метку в маркере Google Maps?

1

У меня есть несколько маркеров круга на карте Google, используя SVG с объектами google.map.Marker. Тем не менее, я не могу показаться, что вы можете центрировать ярлык идеально внутри круга. Метка может иметь 1 или 2 цифры.

function initMap() {
  var pos = new google.maps.LatLng(53.3163803, -6.2676661);
  var myOptions = { zoom: 15, center: pos};
  var map = new google.maps.Map(document.getElementById('map-canvas'), myOptions);

  var markerA = new google.maps.Marker({
    position: pos,      
    label: {
      text: "10",
      color: "white"
    },
    icon: {
      url: 'data:image/svg+xml;charset=utf-8,' + 
        encodeURIComponent('<svg viewBox="0 0 220 220" xmlns="http://www.w3.org/2000/svg"><circle cx="110" cy="110" r="100" stroke="black" fill="rgb(78, 144, 217)" fill-opacity="1.0" stroke-width="1" /></svg>'),
      size: new google.maps.Size(32, 32),
      scaledSize: new google.maps.Size(32, 32),
      anchor: new google.maps.Point(16, 16),
      labelOrigin: new google.maps.Point(16, 16)
    },
    optimized: false,
    map: map
  });
}
google.maps.event.addDomListener(window, 'load', initMap);

Ярлык "10" выглядит немного правым.

Изображение 174551

Что мне здесь не хватает? Или это проблема Google Maps? Здесь работает Кодепэн.

  • 0
    Кажется, идеально центрированы для меня ... особенно если вы замените 10 просто 0 . Я считаю одинаковое количество пикселей от одной стороны круга до числа с обеих сторон. Какой браузер вы используете? Если вы по-прежнему считаете, что он не по центру, возможно, не изменяйте его размеры и не создавайте SVG нужного размера.
  • 0
    @MrUpsidown Мне кажется, это немного не так. Скриншот из Firefox. На Chrome это еще хуже, потому что число немного выше. imgur.com/a/rKW5urs
Показать ещё 1 комментарий
Теги:
svg
google-maps
google-maps-api-3

1 ответ

1

Ярлык по центру.

Символы отображаются внутри "ящиков", так сказать. Не имеет значения ширина символа, границы окна будут одинаковыми. Я имею в виду, что в то время как "1 тоньше, чем" 0 "для пользователей, при визуализации в API Google они имеют ту же ширину, что и в" ящиках ".

Способ проверить это - изменить метку на два одинаковых символа:

Изображение 174551

При изменении на '00 можно ясно видеть, что метка центрирована, хотя правая 0 не перемещается:

Изображение 174551

Итак, чтобы ответить на ваш вопрос о том, чего мне не хватает? Ответ таков. Ярлыки центрированы - только каждый символ отображается с той же шириной, что кажется, что он находится вне центра.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню