我尝试保存用户的Google地图点击坐标数据
我正在使用JSP和Javascript
我可以更改以下网址
当用户点击地图时,我可以获得lat和lng
selected_Latitude = latLng.lat()
selected_Longitude = latLng.lng()
window.location.assign("myurl/map.jsp?lat="+selected_Latitude + "&lng=" + selected_Longitude)
工作正常,但浏览器会重新加载页面。
但我想更改网址而不是重新加载页面。比如maps.google.com
我想我必须使用Ajax,但我不知道从哪里开始
答案 0 :(得分:0)
我做了一些工作来标记点击的位置而不重新加载页面。我不确定你为什么试图拉特&使用window.location
在网址中使用lan。只要检查一下它是否有用。
我在哥伦比亚使用过中心。请找到以下代码,
<script type="text/javascript">
var map;
// Creates the map
function initialize() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(35.6439217, -87.0828474), //For Columbia
mapTypeId: google.maps.MapTypeId.ROADMAP
});
}
// This function takes an array argument containing a list of marker data
function generateMarkers(locations) {
for (var i = 0; i < locations.length; i++) {
new google.maps.Marker({
position: new google.maps.LatLng(locations[i][0], locations[i][1]),
map: map
});
}
}
</script>
<div id="map" style="width: 500px; height: 400px;"></div>
<script type="text/javascript">
window.onload = function () {
initialize();
var address = "Spring Hill";
geocoder = new google.maps.Geocoder();
google.maps.event.addListener(map,'click',function(event) {
var loc2 = [];
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc2.push("[" + event.latLng.lat() + "," + event.latLng.lng() +"]");
locations1 = "[" + loc2 + "]";
generateMarkers(eval(locations1));
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
});
};
</script>
另请找工作Demo供您参考。如果它对你有帮助,请告诉我。