您好我正在从w3schools学习Google Map API。我是JS新手,希望将location.lat()
和location.lng()
分配给JavaScript变量。这是复制的教程代码。我试图将值分配为;
var latid=location.lat();
但我认为lat()
没有返回任何内容。
我必须在数据库中保存坐标。如果这是错误的方法,那么请告诉我如何在我的数据库中保存lnglat
坐标。
<!DOCTYPE html>
<html>
<head>
<script src="http://maps.googleapis.com/maps/api/js?key=mykeyishidden&sensor=false"></script>
<script>
var map;
var myCenter=new google.maps.LatLng(51.508742,-0.120850);
function initialize() {
var mapProp = {
center:myCenter,
zoom:5,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
}
function placeMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map,
});
var infowindow = new google.maps.InfoWindow({
content: 'Latitude: ' + location.lat() + '<br>Longitude: ' + location.lng()
});
infowindow.open(map,marker);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>
答案 0 :(得分:0)
我看到您正在尝试通过location.lat()访问位置,但在整个脚本上看不到任何位置。我期待看到像
这样的东西google.maps.GeocoderGeometry.location
在某处实例化。
为了您的目的,我认为如果它是您的意思,最好尝试以下内容:
google.maps.LatLng.lat() // Returns latitude
google.maps.LatLng.lng() // Returns longitude
答案 1 :(得分:0)
我跑了你的页面并查看了控制台。
在placeMarker(location)
中,location具有这些属性。
A: -1.8017578125
k: 49.03786794532644
你的lat()和lng()实际上是返回值,而不是零!因此,例如,如果您需要在程序中的其他位置存储这些内容,您的代码会添加这些内容...
<script>
var map;
var myCenter=new google.maps.LatLng(51.508742,-0.120850);
var myLatLng;
var myLatLngs[];
...
function placeMarker(location) {
...
myLatLng = {lat:location.lat(),lng:location.lng()};
console.log("Lat: " + myLatLng.lat + " Lng: " + myLatLng.lng);
myLatLngs.push(myLatLng);
infowindow.open(map,marker);
}
...
现在你有myLatLng存储纬度和经度,myLatLngs是每次用户点击并按顺序存储这些坐标的数组,以及console.log以显示给你在控制台中确认。
如果您不知道如何通过查看此主题来访问浏览器控制台:https://webmasters.stackexchange.com/questions/8525/how-to-open-the-javascript-console-in-different-browsers