如何有一个方向与目标地址(谷歌地图API)



我想用谷歌地图API做一个方向,但它不适用于地址。我尝试使用这样的地理编码服务,但它不知道"路线"(方向服务(。

我的方法 :

var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': this.nomBar}, function(results, status) {
this.directionsService.route({
origin: this.currentLocation,
destination: results[0].geometry.location,
travelMode: 'DRIVING'
}, (response, status) => {
if (status === 'OK') {
that.directionsDisplay.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});
});

您无需使用地理编码器即可获取起点和目的地的方向。谷歌的文档指出:

origin(必需(指定从中开始的位置 计算方向。此值可以指定为String(对于 例如,"伊利诺伊州芝加哥"(,作为LatLng值或作为google.maps.Place对象。如果使用google.maps.Place对象,则可以指定位置 ID、查询字符串或LatLng位置。

destination(必需(指定要到的结束位置 计算方向。选项与源字段相同 上述。

此示例使用地址:

directionsService.route({
origin: start, // e.g. "chicago, il"
destination: end, // e.g. "st louis, mo"
travelMode: 'DRIVING'
}, function(response, status) {
if (status === 'OK') {
directionsRenderer.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});

而另一个示例使用坐标:

directionsService.route({
origin: {lat: 37.77, lng: -122.447},
destination: {lat: 37.768, lng: -122.511},
travelMode: google.maps.TravelMode[selectedMode]
}, function(response, status) {
if (status == 'OK') {
directionsRenderer.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});

希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新