【发布时间】:2021-04-20 01:20:09
【问题描述】:
大家好,我在我的项目中使用 Google Maps API,但问题是当我添加标记时,地图不会移动到标记所在的位置。标记正在添加,但如果您不缩小并转到它所在的位置,它是不可见的。
关于如何实现这一点的任何提示?
let myMap = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
这是添加标记:
const marker = new google.maps.Marker({
position: {
lat: 37.7749,
lng: 122.4194
},
map: myMap,
});
【问题讨论】:
-
也许我遗漏了一些东西,但你为什么不
center标记坐标处的地图? -
我尝试使用
myMap.center = { lat: 37.7749, lng: 122.4194},但它不起作用。还有另一种方法吗?另外,我会在屏幕上有多个标记,如果它们能居中就太好了。 -
您需要.setCenter()。不过,您究竟希望它如何工作?您当前以
lat: -34.397, lng: 150.644为中心初始化地图;为什么不将其替换为您想要作为中心的实际坐标?如果这还不够,请澄清您的问题。 -
@ChrisG
setCenter()有效。谢谢!一开始地图上不会有任何东西,这就是我使用随机位置的原因。用户将查询他们想要的任何内容,然后我将获得一组坐标以在地图上添加标记。但如果我总是能在地图上显示所有这些点,那就太好了。 -
我明白了,在这种情况下,您需要计算所有 lats 和 lngs 的最小值和最大值,然后将它们相加并除以 2;这给出了多个标记的中心。
标签: javascript google-maps google-maps-api-3 google-maps-markers