在Google地图中设置标记位置

时间:2014-12-18 17:20:53

标签: google-maps google-maps-api-3

我想知道如何更改Google地图中标记的位置。

目前我正在使用:

 var newlatlong = new google.maps.LatLng(place.geometry.location.lat(), place.geometry.location.lng());
 map.setCenter(newlatlong);
 marker.setPosition(newlatlong);
 map.setZoom(10);

我可以手动编码地图中标记的位置而不是中心位置吗?

我的意思是map.setCenter(newlatlong);,而不是setCenter是否还有其他职位?或者我可以手动编码地图中应该出现标记的位置吗?

3 个答案:

答案 0 :(得分:3)

不确定为什么要运行代码两次......

但是,您可以将纬度/经度值直接传递给setCenter方法

map.setCenter({lat: -34, lng: 151});

文档:https://developers.google.com/maps/documentation/javascript/reference#Map


评论后

更新

如果要移动地图中心以使标记位于特定位置(以像素为单位),则可以使标记居中,然后使用.panBy方法将地图移动固定数量的像素。 / p>

答案 1 :(得分:0)

创建标记:

var marker = new google.maps.Marker({
   map : map,
   position : newlatlong
})

更新此标记的位置:

marker.setPosition(newlatlong);

将中心放在标记的东边,例如:

map.setCenter(new LatLng(newlatlong.lat,newlatlong.lng + 1.0))

答案 2 :(得分:0)

您可以使用不同的经度和纬度分别设置地图的中心和标记:

function initialize() {
   var mapOptions = {
      center: new google.maps.LatLng(41.512318, -72.979349);
   };

   var marker = new google.maps.Marker({
      position: new google.maps.LatLng(41.513001, -72.983845)
   });
};

这使得标记略微偏离左侧的中心。我在当前的一个项目中使用过它。