0
Я новичок в JavaScript и API Карт Google v3. Я пытаюсь привести пример кода разработчика на странице ASP.Net. Карта отображается так, как ожидалось, но маркер не загружается. Я был бы признателен, если бы кто-то мог определить мою ошибку:Почему мои маркеры Google Maps не загружаются?
<style type="text/css">
html, body, #map_canvas { margin: 0; padding: 0; height: 100%; }
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
var myLatlng = new google.maps.LatLng(-41.2954168187213,174.767133718655)
function initialize() {
var myOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Hello World!"
});
// The following set map made no difference.
//The constructor above should have been enough?
//marker.setMap(map);
//google.maps.event.addDomListener(window, 'load', initialize);
</script>
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
Чтобы продлить этот ответ: вы создаете маркер, а затем, когда документ загружается, создавая карту. Это означает, что маркер не имеет ничего, чтобы «защелкнуться» - переменная карты имеет значение null. Вам нужно сначала загрузить карту, а затем нажать на нее метки фиксатора. Если вы хотите, вы можете создать Маркерную очередь и запустить ее при запуске страницы, добавив маркеры из нее на карту, если карта будет готова. – DanRedux
Спасибо. Теперь это кажется таким очевидным. –