0

我想知道如何从路线请求的原点检索路线计算出来的latlng。 我想用它来绘制一条围绕已经制作的路线的原点的圆圈。谷歌地图API - 从方向的原点检索latlng?

function calcRoute() { 
start = document.getElementById("start").value; //value from start textbox 
end = document.getElementById("end").value; //value from end textbox 

var request = { 
    origin: start, 
    destination: end, 
    travelMode: google.maps.TravelMode.DRIVING 
}; 
directionsService.route(request, function(result, status) { 
    //if route can be generated 
    if (status == google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setDirections(result); 

     //circle.setCenter(); 

    }else{ 
     //display window alert with status error 
     window.alert('Directions request failed due to ' + status); 
    } 
}); 
} 

被用于始发地和目的地使用自动完成方法由谷歌开发网页,其中是返回所有类型的位置我INITIALISE函数内部文本框。

//autocomplete section 
var inputStart = document.getElementById('start'); 
var optionsStart = {}; //Empty which will return all types 
autocomplete = new google.maps.places.Autocomplete(inputStart, optionsStart); 

var inputEnd = document.getElementById('end'); 
var optionsEnd = {}; //Empty which will return all types 
autocomplete = new google.maps.places.Autocomplete(inputEnd, optionsEnd); 
//-------------------------------------------------- 

香港专业教育学院研究一下,我需要刚刚返回地址,然后使用地址解析器中检索我想要的数据,或者可以在此与我的代码是现在的方式来完成。

我已经看过这段代码,但不知道如何实现它,如果这也有帮助。

result.routes[0].legs[0].start_location; 

回答

0

这将工作是...

result.routes[0].legs[0].start_locationLatLng object

所以你可以使用它来创建一个标记或设置你的圆心。我们错过了您创建圆的代码。但是你可以做这样的事情:

circle.setCenter(result.routes[0].legs[0].start_location); 

,如果在尚未创建您的圈子:

var circleOptions = { 
    fillColor: '#FFFFFF', 
    fillOpacity: 0.25, 
    map: map, 
    center: result.routes[0].legs[0].start_location, 
    radius: 10000 
}; 

var circle = new google.maps.Circle(circleOptions); 

下面是一个完整的例子:

JSFiddle demo

+0

啊谢谢,我想我试着将latlng声明为一个变量,并将该变量输入到setCenter参数中,但没有工作。谢谢!现在我只需要能够用某种滑块编辑raidius,有时间进行更多的研究哈哈。再次感谢。 – aa29

+0

欢迎。但是,如果你执行'var xxx = result.routes [0] .legs [0] .start_location'并在'setCenter()'中使用该变量,没有理由不起作用......但是你必须使用**内**请求功能。 – MrUpsidown