获取google地图中的当前位置并将其传递给javascript中的变量
我想在谷歌地图上显示从当前位置到已知位置的方向。我的代码如下所示:获取google地图中的当前位置并将其传递给javascript中的变量,javascript,google-maps,google-maps-api-3,google-maps-markers,Javascript,Google Maps,Google Maps Api 3,Google Maps Markers,我想在谷歌地图上显示从当前位置到已知位置的方向。我的代码如下所示: <script> var directionsDisplay; var directionsService = new google.maps.DirectionsService(); var map; function initialize() { directionsDisplay = new google.maps.DirectionsRenderer(); var bne = new g
<script>
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var bne = new google.maps.LatLng(-27.572832, 153.065247);
var mapOptions = {
zoom:7,
center: bne
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
navigator.geolocation.getCurrentPosition(
function (pos) {
var start = new google.maps.LatLng(pos.coords.latitiude,
pos.coords.longitude);
var end = 'sunnybank,brisbane';
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
},
function (err) {
alert('ERROR(' + err.code + '): ' + err.message);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var bne=new google.maps.LatLng(-27.572832153.065247);
变量映射选项={
缩放:7,
中心:bne
}
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
方向显示.setMap(地图);
}
函数calcRoute(){
navigator.geolocation.getCurrentPosition(
功能(pos){
var start=new google.maps.LatLng(pos.coords.lattiude,
位置坐标经度);
var end=‘布里斯班的桑尼银行’;
var请求={
来源:start,
目的地:完,
travelMode:google.maps.travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
});
},
功能(err){
警报('ERROR('+err.code+'):'+err.message);
});
}
google.maps.event.addDomListener(窗口“加载”,初始化);
似乎navigator.geolocation.getCurrentPosition()对我不起作用,是否有其他方法检索当前位置并将其传递给start变量?可能有三个原因:
您使用哪种浏览器?google chrome..这有关系吗?Thx,我根据您的建议更改了代码~浏览器提示我允许获取位置。但是在路线没有显示之后。我使用了F12,也没有任何指示,知道为什么吗?也许方向服务返回的状态不是“OK”,我通常会在我的答案中添加警报,以便在出现这种情况时通知我。
function calcRoute() {
navigator.geolocation.getCurrentPosition(function(pos) {
var start = new google.maps.LatLng(pos.coords.latitiude,
pos.coords.longitude);
var end = 'sunnybank,brisbane';
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
} else alert("Directions request failed: "+status);
});
}, function(err) {
alert('ERROR(' + err.code + '): ' + err.message);
});
}