Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改谷歌地图标记的位置?_Javascript_Html_Google Maps_Google Maps Api 3 - Fatal编程技术网

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)