谷歌地图Javascript无法获取用户坐标

Google Maps Javascript not getting Coordinates of user

本文关键字:获取 用户坐标 Javascript 谷歌地图      更新时间:2023-09-26

这个javascript不会得到用户的坐标(这是一个html, js和CSS应用程序仅)(粗体和斜体文本的区域,是应该从客户端获取坐标的区域)

我尝试了不同的解决方案,但它们都不起作用,而且如果用户在25km范围内,它不会显示

中心:新google.maps.LatLng (瓦尔(coords.latitude ), 瓦尔(coords.longitude) ),

<script type="text/javascript"> 
  var side_bar_html = ""; 
  var gmarkers = []; 
  var map = null;
  var markerclusterer = null;
function createMarker(latlng, name, html) {
var contentString = html;
var marker = new google.maps.Marker({
    position: latlng,
    zIndex: Math.round(latlng.lat()*-100000)<<5
    });
google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(contentString); 
    infowindow.open(map,marker);
    });
 gmarkers.push(marker);
 side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<'/a><br>';
}

function myclick(i) {
  google.maps.event.trigger(gmarkers[i], "click");
}
function initialize() {
  var myOptions = {
    zoom: 8,
    center: new google.maps.LatLng(val(coords.latitude),val(coords.longitude)),
    mapTypeControl: true,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"),
                                myOptions);
  google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });
  google.maps.event.addListener(map, 'click', find_closest_marker);

  downloadUrl("markers.xml", function(doc) {
    var xmlDoc = xmlParse(doc);
    var markers = xmlDoc.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var lat = parseFloat(markers[i].getAttribute("lat"));
      var lng = parseFloat(markers[i].getAttribute("lng"));
      var point = new google.maps.LatLng(lat,lng);
      var id = markers[i].getAttribute("id");
      var sted = markers[i].getAttribute("sted");
      var html="<b>"+sted+"</b><br>"+id;
      var marker = createMarker(point,sted+" "+id,html);
    }
    markerCluster = new MarkerClusterer(map, gmarkers);
    document.getElementById("side_bar").innerHTML = side_bar_html;
          });
        }
    var infowindow = new google.maps.InfoWindow(
      { 
        size: new google.maps.Size(150,50)
      });

    function find_closest_marker( event ) {
        var closestMarker = -1;
        var closestDistance = Number.MAX_VALUE;
        for( i=0;i<gmarkers.length; i++ ) {
            var distance = google.maps.geometry.spherical.computeDistanceBetween(gmarkers[i].getPosition(),event.latLng);
            if ( distance < closestDistance ) {
                closestMarker = i;
                closestDistance = distance;
            }
        }
        map.setCenter(gmarkers[closestMarker].getPosition());
        if (map.getZoom() < 16) map.setZoom(16);
        google.maps.event.trigger(gmarkers[closestMarker], 'click');
    }

    </script> 

你可以使用一个简单的JS函数。

 <script>

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showLatLng);
    } else { 
        alert("Geolocation is not supported by this browser.");
    }
}
function showLatLng(location) {
    alert("Latitude: " + location.coords.latitude + 
    "Longitude: " + location.coords.longitude); 
}
</script>

希望有所帮助