尝试使用googlemaps api和javascript查找两个LatLng对象之间的距离
您好,我正在玩html5地理定位,并使用navigator.geolocation.getCurrentPosition(success,fail)对象获取用户位置 在success函数中,我创建了一个名为coords的变量来保存坐标,并创建了一个名为coords2的变量来保存我创建的其他坐标尝试使用googlemaps api和javascript查找两个LatLng对象之间的距离,javascript,api,google-maps,distance,Javascript,Api,Google Maps,Distance,您好,我正在玩html5地理定位,并使用navigator.geolocation.getCurrentPosition(success,fail)对象获取用户位置 在success函数中,我创建了一个名为coords的变量来保存坐标,并创建了一个名为coords2的变量来保存我创建的其他坐标 var coords = new google.maps.LatLng(position.coords.latitude position.coords.longitude); var coords
var coords = new google.maps.LatLng(position.coords.latitude position.coords.longitude);
var coords2 = new google.maps.LatLng(55.8619788, -4.2867578);
使用以下代码,我将地图上的两点定位为标记:
var mapOptions = {
zoom: 16,
center: coords,
mapTypeControl: false,
navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
mapTypeId: google.maps.MapTypeId.ROADMAP,
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var marker = new google.maps.Marker({
position: coords,
map: map,
title: "Your current location!"
});
var marker2 = new google.maps.Marker({
position: coords2,
map: map,
title: "Nearest Person!"
});
然后我想做的是计算出这些点之间的距离。我似乎找不到一种方法来做这件事
以下是我正在尝试的:
var distance = computeDistanceBetween(coords, coords2);
alert(distance);
知道我做错了什么吗?干杯!
保罗在v2中,你可以
coords.distanceFrom(coords2);
记录在
编辑:我想您可能正在使用v3。如果是这样,我相信您将需要完整的名称空间:
var距离=
google.maps.geometry.Spheremic.ComputedDistanceBeween(coords,
合作2)
新的中存在默认情况下不加载的google.maps.geometry库。您必须在引导请求中明确指定要加载它:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?libraries=geometry&sensor=true_or_false"></script>