您能否建议如何执行以下任务? 我有从A点到B点的路线。这条路线经过几个国家。我如何使用谷歌地图计算或替代每个国家/地区的路线部分距离?
对于任何想法都会非常感激吗?
答案 0 :(得分:0)
这应该让你去,在这里查看小提琴https://jsfiddle.net/yeoman/nm50vypx/1/ 基本上做以下事项:
1。获取FIRST点的经度和纬度
2. 获取第二点的经度和纬度
3。用户内置API函数google.maps.geometry.spherical.computeDistanceBetween()
var p1 = new google.maps.LatLng(45.463688, 9.18814);
var p2 = new google.maps.LatLng(46.0438317, 9.75936230000002);
alert(calcDistance(p1, p2));
//calculates distance between two points in km's
function calcDistance(p1, p2) {
return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2) / 1000).toFixed(2);
}
重要提示:您的脚本代码中必须包含&libraries=geometry
。
例如<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=YOURKEYHERE&libraries=geometry"></script>
另一个一行示例
var latitude1 = 39.46;
var longitude1 = -0.36;
var latitude2 = 40.40;
var longitude2 = -3.68;
var distance = google.maps.geometry.spherical.computeDistanceBetween(new google.maps.LatLng(latitude1,longitude1), new google.maps.LatLng(latitude2,longitude2));
编辑:距离结果以米
表示