/ / Як реалізувати геокодування в поданні форми Meteor? - метеор, геокодування

Як здійснити геокодування в форматі подання заявки на метеор? - Метеор, геокодування

У мене надіслано форму з місцем розташуванняполя. Я хочу зателефонувати в API геокодування Google і отримати широту і довготу розташування, щоб переконатися, що місцеположення існує, а потім надіслати всі три частини даних на db.

geocoder = new google.maps.Geocoder();
geocoder.geocode( { "address": location}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
alert(results[0].geometry.location);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});

Єдине місце, де я можу знайти цей код, щоб сповістити правильні координати, міститься у файлі моїх колекцій posts.js, але також викликає помилку сервера:

Exception while invoking method "post" ReferenceError: google is not defined

Відповіді:

0 для відповіді № 1

Геокодування має здійснюватися на сторінці додавання дописуменеджер (лише з боку клієнта). Оскільки виклик геокодування асинхронний, я не отримав відповідь, перш ніж надсилати повідомлення на db.

geocoder = new google.maps.Geocoder();
geocoder.geocode( { "address": pin.location}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
pin.lat = results[0].geometry.location.lat();
pin.lng = results[0].geometry.location.lng();

Meteor.call("post", pin, function(error, id){
if (error)
return alert(error.reason);

Meteor.Router.to("pinPage", pin);
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});