$(".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?");
});
}
});
});
** Другое обновление **
Мне действительно нужно сохранить геокодированный адрес позже, даже если я сохраню значения широты/долготы в своей базе данных и переделаю маркер, когда я готов поместить его на карту. Опять же, сериализация или публикация - по-видимому, используя эту точку, иначе, чем в функциях карт google, дает исключение this.lat is not a function
в моем журнале ошибок.
Я использую asp.net mvc - существуют ли какие-либо фреймворки, которые упростили бы это? Мне действительно нужна помощь в этом. Спасибо.