大家好!我试图使用getLatLng()来对邮政编码列表进行地理编码,并将生成的点存储在数据库中,以便稍后将其放置在地图上。这是我到目前为止有:如何使用Google Maps geocoder.getLatLng()并将其结果存储在数据库中?
$(".geocodethis").click(function() {
var geocoder = new GClientGeocoder();
var postalCode = $(this).siblings(".postal").val();
var id = $(this).siblings(".id").val();
geocoder.getLatLng(postalCode, function (point) {
if (!point) {
alert(postalCode + " not found");
} else {
alert(point);
var serializedPoint = $.param(point);
//Geocode(id, point);
}
});
});
function Geocode(id, point) {
alert(point);
$.post("/Demographic/Geocode/" + id, point, function() {
alert("success?");
});
}
,但我发现我的错误控制台this.lat is not a function
当我试图序列点对象或使用它$.post()
从我的研究,我明白了geocoder.getLatLng()
是异步的,这将如何影响我正在尝试做什么?我没有在循环中运行这段代码,我试图使用匿名回调函数发布该点。
如何将point
的信息保存到以后使用?
更新
创建一个标记,并尝试后仍然导致this.lat is not a function
错误控制台。
$(".geocodethis").click(function() {
var geocoder = new GClientGeocoder();
var postalCode = $(this).siblings(".postal").val();
var id = $(this).siblings(".id").val();
geocoder.getLatLng(postalCode, function (point) {
if (!point) {
alert(postalCode + " not found");
} else {
alert(point);
var marker = new GMarker(point);
$.post("/Demographic/Geocode/" + id, marker, function() {
alert("success?");
});
}
});
});
**另一个更新**
我真的需要保存地理编码地址后,即使我存储在我的数据库中纬度/经度值和重拍标记时,我已经准备好了把它放到地图上。再次,序列化或发布 - 似乎在谷歌地图功能以外的任何方式使用该点在我的错误日志中给出this.lat is not a function
例外。
我使用的是asp.net mvc - 有没有任何框架可以让这更简单?我真的需要帮助。谢谢。
http://stackoverflow.com/questions/4556602/cant-deserialize-googlemaps-directionsresult-object/5745163#5745163 – kjy112 2011-04-28 20:00:52