使用参数 (latLng) 调用 calcRoute 时未定义路线 - Google 地图
routes are not defined when calling calcRoute with params (latLng) - Google Maps
我需要在点击时将参数传递给 calcRoute()
,我正在做的是:
function calcRoute(source,destt) {
var start = new google.maps.LatLng(source);
var end = new google.maps.LatLng(destt);
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
点击事件:
$('#go').click(function(){
var from= "24.942834,67.121237";
var to = "24.944908,67.124491";
calcRoute(from,to);
});
返回状态 ZERO_RESULT
当我在 calcRoute() 中硬编码 lat n lng 时工作正常,即
var start = new google.maps.LatLng(24.942834,67.121237);
var end = new google.maps.LatLng(24.944908,67.124491);
感谢您的帮助。
直接字符串不能用作 LatLng
对象,您必须将 "24.942834,67.121237"
转换为 google.maps.LatLng
才能使其工作。
$('#go').click(function(){
var from= new google.maps.LatLng(24.942834,67.121237);// convert it to latlng object
var to = new google.maps.LatLng(24.944908,67.124491);
calcRoute(from,to);
});
如果你有 "24.942834,67.121237"
那么你可以这样使用它:
var str="24.942834,67.121237";
var latlng=str.split(',')
var to = new google.maps.LatLng(parseFloat(latlng[0]), parseFloat(latlng[1]));
我需要在点击时将参数传递给 calcRoute()
,我正在做的是:
function calcRoute(source,destt) {
var start = new google.maps.LatLng(source);
var end = new google.maps.LatLng(destt);
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
点击事件:
$('#go').click(function(){
var from= "24.942834,67.121237";
var to = "24.944908,67.124491";
calcRoute(from,to);
});
返回状态 ZERO_RESULT
当我在 calcRoute() 中硬编码 lat n lng 时工作正常,即
var start = new google.maps.LatLng(24.942834,67.121237);
var end = new google.maps.LatLng(24.944908,67.124491);
感谢您的帮助。
直接字符串不能用作 LatLng
对象,您必须将 "24.942834,67.121237"
转换为 google.maps.LatLng
才能使其工作。
$('#go').click(function(){
var from= new google.maps.LatLng(24.942834,67.121237);// convert it to latlng object
var to = new google.maps.LatLng(24.944908,67.124491);
calcRoute(from,to);
});
如果你有 "24.942834,67.121237"
那么你可以这样使用它:
var str="24.942834,67.121237";
var latlng=str.split(',')
var to = new google.maps.LatLng(parseFloat(latlng[0]), parseFloat(latlng[1]));