2015-09-08 53 views
0

这个javascript不会得到用户的坐标 (这是一个html,只适用于js和css应用程序) (带粗体和斜体文本的区域,是应该得到从客户端坐标)谷歌地图Javascript获取用户的坐标

我已经尝试了不同的soloutions,他们不会工作,+它不显示的,如果用户是25公里内

中心:新google.maps.LatLng(VAL(COORDS .latitude),val(coor ds.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> 

回答

1

您可以通过用户的简单的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> 

希望它可以帮助

+0

我在哪里supposet实现它在脚本中,这样的坐标是正确的?正如我用粗体和斜体文字显示的那样 –