【发布时间】:2021-04-01 01:17:53
【问题描述】:
我的自动完成功能很好,我已经包含了库几何,
<script defer src="https://maps.googleapis.com/maps/api/js?libraries=places,geometry&key=xxaSyxxxxxxxx9xx&callback=initAutocomplete"></script>
这里是html+js:
<input class="forminput" id="autocomplete" maxlength="30" type=text placeholder="Ex: street.."></input>
let placeSearch;
let autocomplete;
const componentForm = {
street_number: "short_name",
route: "long_name",
locality: "long_name",
administrative_area_level_1: "short_name",
country: "long_name",
postal_code: "short_name",
};
function initAutocomplete() {
autocomplete = new google.maps.places.Autocomplete(
document.getElementById("autocomplete"),
{ types: ["geocode"] }
);
//address only
autocomplete.setFields(["address_component"]);
//populate
autocomplete.addListener("place_changed", fillInAddress);
}
当我阅读结果时,places 没有 geometry 属性:
function fillInAddress() {
const place = autocomplete.getPlace();
console.log(place); // is good
console.log(place.geometry); // is undefined all the time
for (const component of place.address_components) {
const addressType = component.types[0];
const val = component[componentForm[addressType]];
alert(addressType + " " + val); // ****** this is good !!!
}
如何使几何图形工作?我需要纬度/日志。
【问题讨论】:
-
自动完成的范围很好,我得到了其余的属性,你可以从我的代码中理解。
标签: javascript google-maps google-maps-api-3