如何使用“地图”在谷歌地图上显示用户位置;onclick”;作用

how to show user location on Google maps using "onclick" function?

本文关键字:用户 位置 作用 显示 onclick 谷歌地图 何使用 地图      更新时间:2023-09-26

我正在尝试建立一个显示地图的网站,并在上面显示一个按钮,将您带到当前位置。我使用谷歌地图服务来提取地图,我还设法自己获取用户位置,所以所有的JavaScript似乎都能正常工作,但当将函数getlocation添加到代码中并尝试从HTML调用它时,它就不起作用了。我相信这可能是找不到函数,我不明白为什么?我将留下以下代码:

<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>

如果你不明白我的问题是什么,也请评论!这是我在这里的第一个问题!

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