首页 > 解决方案 > 如何检查特定地点或地点是否包含在谷歌地图 api 的当前视口中?

问题描述

如果我要标记的地方包含在当前地图区域中,我正在尝试在谷歌地图中制作制造商。请看我的解释。
我有 lat 和 log 数组,比如,

var locations = [
    {lat: -31.563910, lng: 147.154312},
    {lat: -33.718234, lng: 150.363181},
    {lat: -33.727111, lng: 150.371124},
    {lat: -33.848588, lng: 151.209834}
]  

当用户环顾地图时,如果他到达上面数组中包含 lat 和 lng 的地方,我想向那些地方的制造商展示。

我不知道怎么做。你能解释一下吗?
我正在使用谷歌地图 javascript api。

标签: javascriptgoogle-mapsgoogle-maps-api-3

解决方案


var locations = [
    {lat: -31.563910, lng: 147.154312},
    {lat: -33.718234, lng: 150.363181},
    {lat: -33.727111, lng: 150.371124},
    {lat: -33.848588, lng: 151.209834}
]
var map = new google.maps.Map(document.getElementById('map'), {})
var current_view_port = map.getBounds()
locations.forEach(function(item){
 if(current_view_port.contains(item)){ //returns true if in view-port
     //create a marker here 
 }
})

https://developers.google.com/maps/documentation/javascript/reference/coordinates#LatLngBounds


推荐阅读