Javascript 要在放置标记后获取地址吗
贴图正在渲染,我可以拖动标记,但我不确定事件侦听器为什么不给我标记的位置。错误如下 未捕获引用错误:未定义google 请问你能帮忙吗?我的代码如下,任何帮助都将不胜感激Javascript 要在放置标记后获取地址吗,javascript,html,google-maps,Javascript,Html,Google Maps,贴图正在渲染,我可以拖动标记,但我不确定事件侦听器为什么不给我标记的位置。错误如下 未捕获引用错误:未定义google 请问你能帮忙吗?我的代码如下,任何帮助都将不胜感激 var map; function getLocation(){ if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(showPosition, error);
var map;
function getLocation(){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition, error);
}else{
myLocation.innerHTML = "Geolocation API not supported in this browser, try another"
}
}
function showPosition(position){
var myLocation = document.getElementById('livePos');
myLocation.innerHTML = "Latitude:"+position.coords.latitude +
"<br> Longitude" + position.coords.longitude;
var lati = position.coords.latitude;
var long = position.coords.longitude;
}
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 51, lng: 0.19},
zoom:8
});
getLocation()
var lati = 51.516228;
var long = 0.19003019999999998;
var point = new google.maps.LatLng(lati,long);
map.panTo(point);
var marker = new google.maps.Marker({
position: point,
map: map,
draggable:true,
title: 'Here!'
})
var search = document.getElementById('search');
search.addEventListener("click", function(){
var lati = document.getElementById('lat').value;
var long = document.getElementById('long').value;
var point = new google.maps.LatLng(lati,long);
map.panTo(point);
var marker = new google.maps.Marker({
position: point,
map: map,
draggable:true,
title: 'Here!'
});
});
}
google.maps.event.addListener(Marker, 'dragend', function(evt){
document.getElementById('current').innerHTML = '<p>Marker dropped: Current Lat: ' + evt.latiLng.lat().toFixed(3) + ' Current Lng: ' + evt.latLng.lng().toFixed(3) + '</p>';
});
google.maps.event.addListener(marker, 'dragstart', function(evt){
document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>';
});
var映射;
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition,错误);
}否则{
myLocation.innerHTML=“此浏览器不支持地理位置API,请尝试其他”
}
}
功能显示位置(位置){
var myLocation=document.getElementById('livePos');
myLocation.innerHTML=“纬度:”+position.coords.Latitude+
“
经度”+position.coords.Longitude;
var lati=位置坐标纬度;
var long=位置坐标经度;
}
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{lat:51,lng:0.19},
缩放:8
});
getLocation()
var lati=51.516228;
var long=0.190030199999998;
var point=new google.maps.LatLng(lati,long);
潘图(点);
var marker=new google.maps.marker({
位置:点,,
地图:地图,
真的,
标题:“这里!”
})
var search=document.getElementById('search');
search.addEventListener(“单击”,函数(){
var lati=document.getElementById('lat').value;
var long=document.getElementById('long').value;
var point=new google.maps.LatLng(lati,long);
潘图(点);
var marker=new google.maps.marker({
位置:点,,
地图:地图,
真的,
标题:“这里!”
});
});
}
google.maps.event.addListener(标记'dragend',函数(evt){
document.getElementById('current').innerHTML='删除的标记:当前Lat:'+evt.latLng.Lat().toFixed(3)+'current Lng:'+evt.latLng.Lng().toFixed(3)+'';
});
google.maps.event.addListener(标记'dragstart',函数(evt){
document.getElementById('current').innerHTML='当前正在拖动标记…;
});
发布的代码中有4个错误/打字错误(可在javascript控制台中找到)
uncaughtreferenceerror:google未在这一行定义:google.maps.event.addListener(标记'dragend',function(evt){
,因为它在initMap
回调函数之外,并且在加载API之前运行
ReferenceError:未定义错误
(因为未在发布的代码中定义)
引用错误:未定义标记
,javascript区分大小写,应该是标记
(非标记
)
Uncaught TypeError:无法读取未定义的属性“lat”
,在此:evt.latLng.lat().toFixed(3)
。这是一个输入错误,应该是evt.latLng
中显示初始标记的正确坐标)(假设您有一个,您没有发布任何CSS或HTML)
如果要根据返回的坐标获取地址,请参见,如果拖动标记并单击它,它将显示标记新位置的反向地理编码地址
代码片段:
var映射;
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition,错误);
}否则{
myLocation.innerHTML=“此浏览器不支持地理位置API,请尝试其他”
}
}
功能显示位置(位置){
var myLocation=document.getElementById('livePos');
myLocation.innerHTML=“纬度:”+position.coords.Latitude+
“
经度”+position.coords.Longitude;
var lati=位置坐标纬度;
var long=位置坐标经度;
}
函数错误(error){
警报(“地理位置错误(“+error.code+”)”+错误消息);
}
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{
拉脱维亚:51,
液化天然气:0.19
},
缩放:8
});
getLocation()
var lati=51.516228;
var long=0.190030199999998;
var point=new google.maps.LatLng(lati,long);
潘图(点);
var marker=new google.maps.marker({
位置:点,,
地图:地图,
真的,
标题:“这里!”
})
var search=document.getElementById('search');
search.addEventListener(“单击”,函数(){
var lati=document.getElementById('lat').value;
var long=document.getElementById('long').value;
var point=new google.maps.LatLng(lati,long);
潘图(点);
var marker=new google.maps.marker({
位置:点,,
地图:地图,
真的,
标题:“这里!”
});
});
google.maps.event.addListener(标记'dragend',函数(evt){
document.getElementById('current').innerHTML='删除的标记:当前Lat:'+evt.latLng.Lat().toFixed(3)+'current Lng:'+evt.latLng.Lng().toFixed(3)+'';
});
google.maps.event.addListener(标记'dragstart',函数(evt){
document.getElementById('current').innerHTML='当前正在拖动标记…;
});
}
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:80%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
简单地图