У меня есть несколько маркеров круга на карте 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" выглядит немного правым.
Что мне здесь не хватает? Или это проблема Google Maps? Здесь работает Кодепэн.
Ярлык по центру.
Символы отображаются внутри "ящиков", так сказать. Не имеет значения ширина символа, границы окна будут одинаковыми. Я имею в виду, что в то время как "1 тоньше, чем" 0 "для пользователей, при визуализации в API Google они имеют ту же ширину, что и в" ящиках ".
Способ проверить это - изменить метку на два одинаковых символа:
При изменении на '00 можно ясно видеть, что метка центрирована, хотя правая 0 не перемещается:
Итак, чтобы ответить на ваш вопрос о том, чего мне не хватает? Ответ таков. Ярлыки центрированы - только каждый символ отображается с той же шириной, что кажется, что он находится вне центра.
10
просто0
. Я считаю одинаковое количество пикселей от одной стороны круга до числа с обеих сторон. Какой браузер вы используете? Если вы по-прежнему считаете, что он не по центру, возможно, не изменяйте его размеры и не создавайте SVG нужного размера.