我正在尝试编写一个简单的网络应用程序,人们将有机会在谷歌地图上放置一个标记(他们想要的任何地方)并写一条简短的短信(不是在地图上,而是在表格上的简单文本区域) )。然后,我将lan / lon值和文本消息保存到数据库中,但我不知道如何放置标记并获取其lan / lon值。我想使用jQuery放置一个标记,然后获取它的坐标。
我看到了一些这方面的例子,但我无法编写JavaScript部分。是否有一个jQuery插件可以执行此操作,还是可以使用jQuery编写它?
感谢。
编辑:我在写这个问题之前使用过搜索但是在StackOverflow上找不到答案。在发送问题后,我正在Google上进行搜索,我想出了这个How do you click on a map and have latitude and longitude fields in a form populated?。我认为这是我正在寻找的确切答案。答案 0 :(得分:2)
嗯,我不知道是否有任何jquery插件可以帮助你,但google maps API有很好的记录: http://code.google.com/intl/en/apis/maps/documentation/javascript/basics.html
如果您想在用户点击地图时向地图添加标记,请使用监听器:
google.maps.event.addListener(map, 'click', function(event) {
marker = new google.maps.Marker({
position: event.latLng,
map: map,
draggable: true,
title: title
});
marker.setMap(map);
});
这里的coords可以通过事件的属性(用户点击地图)获得,这来自事件本身
click(overlay:GOverlay, latlng:GLatLng, overlaylatlng:GLatLng)
并且此latlng是GLatLng http://code.google.com/intl/en/apis/maps/documentation/javascript/v2/reference.html#GLatLng
类型的对象并且GLatLng类具有获取lat和long实际值的方法。
var LAT = event.latLng.lat();
var LNG = event.latLng.lng();
所有这些在开始时看起来有点压倒性,但它只是知道每种情况下可用的对象,事件,方法和属性的类型。
如果您对JavaScript有一些基本的了解,那么您应该做得很好,并且真的没有必要使用插件,就像@rcravens所说的那样,它不需要太多包装。
答案 1 :(得分:1)
我把google maps v3 api(不是需要很多包装)包装成一个jquery插件。以下是如何下载/使用的帖子:
http://blog.bobcravens.com/2010/06/a-google-maps-version-3-jquery-plugin/
这是一个演示页面:
http://bobcravens.com/demos/GoogleMaps3/
希望这会有所帮助。如果您有疑问,请告诉我。
鲍勃