我正在尝试从我在google maps api上设置的标记中获取Lng
和Lat
。
我自动希望坐标以我的html格式发生。
看起来我没有得到getPosition()
权利,因为我使用的其他变量(类似var x = 34
)确实有效。
我的代码:
<form action="send_nieuwcontainer.php" method="post">
Marker_name: <input type="text" name="markername"><br>
Coördinaten: <br>
Lng: <input id="inputlng" type="text" placeholder="<?php $lng; ?>" readonly="readonly">
Lat: <input id="inputlat" type="text" placeholder="<?php $lat; ?>" readonly="readonly"><br>
</form>
</div>
<script>
function initMap() {
var groningen = {lat: 53.218883, lng: 6.566298};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: groningen
});
map.addListener('click', function(e) {
clearMarkers();
addMarker(e.latLng, map);
});
}
var markers = [];
var lng = marker.getPosition().lng();
var lat = marker.getPosition().lat();
document.getElementById('inputlng').value = lng;
document.getElementById('inputlat').value = lat;
// Adds a marker to the map.
function addMarker(latLng, map) {
var marker = new google.maps.Marker({
position: latLng,
map: map
});
markers.push(marker);
if (marker = true) {
document.getElementById('replaceMe').style.display = 'none';
document.getElementById('replacement').style.visibility = 'visible';
} else {
alert ("Does not work");
}
}
有人看到我做错了什么或者我忘记了什么吗?
注意:我已经尝试过查看stackoverflow和googlemaps api指南。他们一直告诉我使用getPosition()
答案 0 :(得分:0)
正如@Turnip所说,marker
var在var
内声明为addMarker
,因此只能在addMarker
内访问。
尝试在marker
之类的函数外声明var marker;
,然后在函数内部,而不是使用var marker = ...
,使用marker = ...
。