Google maps 如何在谷歌地图路线上获得位置

Google maps 如何在谷歌地图路线上获得位置,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,如何在谷歌地图上找到娱乐、食品、加油站等所有地方,只在不在附近的路线上绘制从源头到目的地的路线。要在@geocodezip提供的基础上,绕过查询限制,最好是根据步骤制作边界框,而不是使用谷歌地图实用程序,然后根据到步骤中节点的实际距离过滤位置。这可以使用以下代码完成: 在初始化()中,放入: var placeserv = null; function initialize(){ //setup map placeserv = new google.maps.PlacesService(

如何在谷歌地图上找到娱乐、食品、加油站等所有地方,只在不在附近的路线上绘制从源头到目的地的路线。

要在@geocodezip提供的基础上,绕过查询限制,最好是根据步骤制作边界框,而不是使用谷歌地图实用程序,然后根据到步骤中节点的实际距离过滤位置。这可以使用以下代码完成:

初始化()
中,放入:

var placeserv = null;
function initialize(){
  //setup map
  placeserv = new google.maps.PlacesService(map); //use your map variable
}
在方向服务的回调函数中(使用参数
results
status
),可以包括如下内容:

var route = results[0];
var steps = route.legs[0].steps;
for(var i=0; i<steps.length; i++){
  var lats = steps[i].path.map(function(a){return a.lat()});
  var lngs = steps[i].path.map(function(a){return a.lng()});
  var box = new google.maps.LatLngBounds(
    new google.maps.LatLng(Math.max.apply(null, lats), Math.max.apply(null, lngs)),
    new google.maps.LatLng(Math.min.apply(null, lats), Math.min.apply(null, lngs))
  );
  placeserv.radarSearch(yourRequest_seeDocumentation_or_geocodezipsCode,
    function(r,s){callback(r,s,steps[i].path)}
  );
  //depending on the number of queries you need to make, you may to add in
  //some setTimeouts
}
var-route=结果[0];
var steps=route.legs[0]。steps;
对于(var i=0;i可能相关的问题:
var minimumDist = 300 //within 300 meters of a point on the route
function callback(results, status, stepPts){
  if(results == 'OK'){
    for(var j=0; j<results.length; j++){
      for(var k=0; k<stepPts.length; k++){
        var dist = google.maps.geometry.spherical.computeDistanceBetween(stepPts[k], results[j].geometry.location);
        if(dist < minimumDist){
          //do something with the location
        }
      }
    }
  }
}