不使用javascript api显示谷歌地图和方向

不使用javascript api显示谷歌地图和方向,javascript,html,google-maps,google-maps-api-3,Javascript,Html,Google Maps,Google Maps Api 3,我使用谷歌地图api来显示地图和方向。用户单击按钮获取位置,地理位置未请求许可,地图或方向面板未显示,是否有帮助 javascript <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script> var x = document.getElementById("demo"); function getLocatio

我使用谷歌地图api来显示地图和方向。用户单击按钮获取位置,地理位置未请求许可,地图或方向面板未显示,是否有帮助

javascript

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
var x = document.getElementById("demo");
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition(position) {
    var lat = position.coords.latitude;
    var lon = position.coords.longitude;
    var directionsService = new google.maps.DirectionsService();
    var rendererOptions = {draggable: true};
    var directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
    var destin = new google.maps.LatLng(43.52,-89.91);
    var mapOptions = 
    {
        zoom: 13,
        mapTypeId:google.maps.MapTypeId.ROADMAP,
        center:destin,
        travelMode:google.maps.TravelMode.DRIVING,
        mapTypeControl:true
    };
    var map = new google.maps.Map(document.getElementById("mapdisplay"),mapOptions);
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById("directionsPanel"));

    function calcRoute() {
        var start = new google.maps.LatLng(lat,lon);
        var end = new google.maps.LatLng(43.52, -89.91);
        var request = 
        {
        orgin:start,
        destination:end,
        travelMode:google.maps.TravelMode.DRIVING,
        };
        directionsService.route(request,function(response,status) {
            if(status==google.maps.DirectionsStatus.OK) {
                directionsDisplay.setDirections(response);
            }
        };
    }
}

function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            x.innerHTML = "User denied the request for Geolocation."
            break;
        case error.POSITION_UNAVAILABLE:
            x.innerHTML = "Location information is unavailable."
            break;
        case error.TIMEOUT:
            x.innerHTML = "The request to get user location timed out."
            break;
        case error.UNKNOWN_ERROR:
            x.innerHTML = "An unknown error occurred."
            break;
    }
}
</script>

var x=document.getElementById(“演示”);
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}否则{
x、 innerHTML=“此浏览器不支持地理位置。”;
}
}
功能显示位置(位置){
var lat=位置坐标纬度;
var lon=位置坐标经度;
var directionsService=new google.maps.directionsService();
var renderoptions={draggable:true};
var directionsDisplay=new google.maps.directionsrender(renderoptions);
var destin=new google.maps.LatLng(43.52,-89.91);
变量映射选项=
{
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:destin,
travelMode:google.maps.travelMode.DRIVING,
mapTypeControl:true
};
var map=new google.maps.map(document.getElementById(“mapdisplay”)、mapOptions);
方向显示.setMap(地图);
directionsDisplay.setPanel(document.getElementById(“directionsPanel”);
函数calcRoute(){
var start=new google.maps.LatLng(lat,lon);
var end=new google.maps.LatLng(43.52,-89.91);
var请求=
{
奥金:开始,
目的地:完,
travelMode:google.maps.travelMode.DRIVING,
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
};
}
}
功能错误(错误){
开关(错误代码){
案例错误。权限被拒绝:
x、 innerHTML=“用户拒绝了地理位置请求。”
打破
案例错误。位置不可用:
x、 innerHTML=“位置信息不可用。”
打破
大小写错误。超时:
x、 innerHTML=“获取用户位置的请求超时。”
打破
案例错误。未知错误:
x、 innerHTML=“发生未知错误。”
打破
}
}
html


单击按钮获取您的位置:

试试看



您知道每个好的浏览器上都有开发人员控制台吗?您缺少括号第51行:

directionsService.route(request,function(response,status) {
    if(status==google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
    }
});

如果不使用控制台,您将无法前往任何地方,因此请确保您了解浏览器的开发工具。

投票关闭,因为您不清楚自己在问什么。请编辑您的问题,以澄清您正在尝试完成什么/什么不起作用。脚本中存在语法错误(调用
directionservice.route
的参数未关闭)我已修复,没有控制台错误,地图显示但没有方向面板,有什么想法吗?
directionsService.route(request,function(response,status) {
    if(status==google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
    }
});