2015-02-11 41 views
0

我正试图建立一个网站,显示一个地图,并在其上我想显示一个按钮,将您带到您当前的位置。 我使用Google地图服务来拉出地图,我也设法自己获取用户位置,所以所有的JavaScript似乎都能正常工作,但是当将函数getlocation添加到代码并尝试从HTML调用它时它不起作用。我相信可能找不到这个功能,我不知道为什么? 我会留下下面的代码:如何使用“onclick”功能在Google地图上显示用户位置?

<script> 
var map; 

function initialize() { 

var miami = new google.maps.LatLng(41.85, -87.65); 

    var mapOptions = { 
    zoom: 4, 
    center: miami, 
    disableDefaultUI: true, 
    } 
    map = new google.maps.Map(document.getElementById('mymap'), 
           mapOptions); 

    var myloc = document.getElementById("try"); 

    function getlocation() { 
    //code 

    // Try HTML5 geolocation 
    if(navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     var pos = new google.maps.LatLng(position.coords.latitude, 
             position.coords.longitude); 

     var infowindow = new google.maps.InfoWindow({ 
     map: map, 
     position: pos, 
     content: 'Location found using HTML5.' 
     }); 

    }, function() { 
     handleNoGeolocation(true); 
    }); 
    } else { 
    // Browser doesn't support Geolocation 
    handleNoGeolocation(false); 
    } 
    } 


function handleNoGeolocation(errorFlag) { 
    if (errorFlag) { 
    var content = 'Error: The Geolocation service failed.'; 
    } else { 
    var content = 'Error: Your browser doesn\'t support geolocation.'; 
    } 

    var options = { 
    map: map, 
    position: new google.maps.LatLng(60, 105), 
    content: content 
    }; 

    var infowindow = new google.maps.InfoWindow(options); 


} 
} 


google.maps.event.addDomListener(window, 'load', initialize); 

    </script> 

我使用内嵌样式的一切。我对JavaScript有所了解,所以如果能告诉我我的错误在哪里,或者我需要做什么来使HTML中的按钮调用JavaScript的一个函数。 另外这里是HTML按钮,地图DIV

<style> 
    html, body, #mymap{ 
    height: 100%; 
    margin: 0px; 
    padding: 0px 
    } 
</style> 
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script> 
    <body> 
    <div id="try"><button onclick="getlocation()">Click here</button></div> 
    <div id="mymap"></div> 
    </body> 

如果你不明白我的问题是还请发表评论! 这是我的第一个问题!

+0

你可以看看一些IP地理API的。有些会给你这个IP的'longitude' /'latitude',然后你可以把'longitude' /'latitude'插入一个变量或者把它作为参数放入函数调用中。请记住:** **地理数据只是粗略**,有些IP不会返回特定位置/州/城市/城镇,因此建议您对数据进行正确的验证。 – NewToJS 2015-02-11 18:57:22

+0

我看到了很多方法来获取用户在谷歌地图上使用js的位置我不知道如何使用地图外部的按钮甚至地图内的按钮调用该函数。 我只是想找到一种方法来创建一个按钮,将我带到用户当前的位置。 – 2015-02-11 19:42:42

回答

0
google.maps.event.addListener(map, 'click', function(event) { 

    marker = new google.maps.Marker({position: event.latLng, map: map}); 

}); 
+0

所以你说我应该补充说我的js? 虽然我不想要标记我只是希望HTML上的按钮将我带到用户当前位置 – 2015-02-11 19:39:49

+0

如果您可以请编辑您的答案并解释您显示的代码的作用以及为什么/如何编码回答这个问题,它可以真正帮助。 自己的代码块通常不是有用的答案。 – 2015-02-12 01:23:27

+0

点击它将您带到用户位置,同时您将获得纬度 – Dileephell 2015-02-12 17:40:20

相关问题