我想知道如何更改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
是否还有其他职位?或者我可以手动编码地图中应该出现标记的位置吗?
答案 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)
});
};
这使得标记略微偏离左侧的中心。我在当前的一个项目中使用过它。