我有一个我正在处理的地图的以下代码,我想看看我是否可以自定义标记。问题是,无论我输入纬度和经度,我都无法获得改变位置的第一个标记。也许我输入的信息不正确。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>UmApp</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=key"></script>
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(41.160531, -73.256303);
var mapOptions = {
zoom: 16,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = new google.maps.Marker({
position: 41.159317, -73.257443,
map: map,
title: 'Hello World!'
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
答案 0 :(得分:0)
试
var marker = new google.maps.Marker({
position: new google.maps.LatLng(41.159317, -73.257443);
map: map,
title: 'Hello World!'
});
答案 1 :(得分:0)
我仍然无法发表评论,所以我会在这里回答您的评论问题:
正如Kostrzak所说,你需要写
var marker = new google.maps.Marker({
position: new google.maps.LatLng(41.159317, -73.257443),
map: map,
title: 'Hello World!'
});
(小心分号而不是逗号。尽管它应该可以工作,但它可能会在某些IDE上引发一堆错误。)
Marker对象内的位置是期望坐标,但不是任何形式。它需要以特定方式给出那些坐标:作为LatLng对象。因此,您需要使用Google JavaScript库设置这些坐标,该库创建一个具有指定坐标的对象:
position: new google.maps.LatLng(41.159317, -73.257443)
您可以在此处设置标记的位置。如果你想改变它,你只需要设置
marker.position = new google.maps.LatLng({newLat}, {newLng});
如果你打开控制台,你会看到位置线引发的一堆错误:“Uncaught SyntaxError:Unexpected token - ”。控制台日志在大多数情况下非常有用,所以请使用它们!