Я написал сценарий, который позволяет администратору нажимать на карту (google maps api v3), устанавливая столько мест, сколько он хочет, называя их. То есть, нажатие на карту показывает информационное окно с формой для именования этого местоположения. Эти местоположения сохраняются в базе данных (координаты LatLng) и отображаются как маркеры на карте.Установите координаты карт Google в качестве центрального экрана
Затем пользователи (admin или нет) могут выбрать любое из этих мест из поля выбора (по имени). Как только это будет выбрано, есть опция для отображения карты с маркером в выбранном месте. Маркер показывает правильно, но я хотел бы, чтобы карта была сосредоточена в этом месте. То есть маркер в центре экрана, но вместо этого он отображается в крайнем верхнем левом углу. На самом деле, изначально маркер даже не виден. Вам нужно перетащить карту и немного оставить ее для показа.
Это довольно странно, поскольку я использую те же координаты как для маркера, так и для центрального экрана. Вот мой код (или в соответствующей части, по крайней мере):
var latlng = new google.maps.LatLng(parseFloat(location.lat), parseFloat(location.ltn));
var latlng2 = new google.maps.LatLng(parseFloat(location.lat) + 0.025, parseFloat(location.ltn) - 0.05);
var map = new google.maps.Map($('.modal-body', modal)[0], {
'center': latlng,
'zoom': 13,
'mapTypeId': google.maps.MapTypeId.ROADMAP,
});
var marker = new google.maps.Marker({
'position': latlng,
'map': map,
'title': location.name,
});
marker.setMap(map);
Обратите внимание, как в этом примере я не использую latlng2 значение. Это то, что я пытался, но, похоже, работает только для определенной резолюции. Как я могу центрировать карту в этих координатах?
С наилучшими пожеланиями
Edit:
$(map).focus();
modal.on('shown', function() {
$(window).resize(function() {
google.maps.event.trigger(map, 'resize');
});
google.maps.event.trigger(map, 'resize');
});
Эта часть кода кажется, нормально. У вас есть что-то еще после этого, которое может переместить центр? –
Я только что редактировал вопрос. Это помогает? –
И да, я забыл сказать. Это показано в загрузочном модуле, хотя я не понимаю, почему это было бы актуальным =) –