Javascript 如何更改谷歌地图标记的位置?
我有下面的地图代码,我正在工作,我想看看我是否可以把自定义标记。问题是,无论我输入纬度和经度,我似乎都无法让第一个标记改变位置。也许我输入的信息不正确Javascript 如何更改谷歌地图标记的位置?,javascript,html,google-maps,google-maps-api-3,Javascript,Html,Google Maps,Google Maps Api 3,我有下面的地图代码,我正在工作,我想看看我是否可以把自定义标记。问题是,无论我输入纬度和经度,我似乎都无法让第一个标记改变位置。也许我输入的信息不正确 <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <titl
<!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>
试一试
我仍然无法发表评论,因此我将在这里回答您的评论问题: 正如科斯特扎克所说,你需要写作
var marker = new google.maps.Marker({
position: new google.maps.LatLng(41.159317, -73.257443),
map: map,
title: 'Hello World!'
});
注意分号而不是逗号。尽管它无论如何都应该工作,但它可能会在某些IDE上抛出一堆错误
标记对象内部的位置需要坐标,但不是任何形式。它需要以特定的方式给出这些坐标:作为一个LatLng对象。因此,您需要使用Google JavaScript库设置这些坐标,该库使用您指定的坐标创建对象:
position: new google.maps.LatLng(41.159317, -73.257443)
这里您已经设置了标记的位置。如果要更改它,只需设置
marker.position=newgoogle.maps.LatLng{newLat},{newLng}
如果打开控制台,您会看到位置行抛出一系列错误:uncaughtsyntaxerror:Unexpected-token-。控制台日志在大多数情况下都非常有用,所以请使用它们 你能详细说明一下你的答案吗?所以要添加更多的标记,我每次只需要写一个新的var标记就行了?要将这些通用标记更改为特定的标记,我需要引用图标文件或url,对吗?顺便说一句,你的建议很有效。是的,你可以做到。但是,如果要有多个标记,最好的方法是使用一个全局标记数组来存储它们,这样就可以控制它们。否则,编辑或删除它们可能会很棘手。您可以在Remove Markers教程中检查它是如何完成的:对于更改标记图标,是的,您只需要将icon参数添加到标记对象,并引用要用作图标的图像url。看看他们在这里是怎么做的:这非常有效。现在我只需要在整个地图中添加多个自定义图标。我有一个位置数组,将标记放在地图的各个点上,但是我需要为3个位置添加一个自定义标记,然后为其他4个位置添加一个不同的标记。是否有一种方法可以引用阵列中的各个位置来添加这些自定义标记?我试过使用谷歌的几个例子,但没有成功。
position: new google.maps.LatLng(41.159317, -73.257443)