gpt4 book ai didi

javascript - 谷歌地图API放置自动填充表单onload

转载 作者:行者123 更新时间:2023-11-28 01:32:18 27 4
gpt4 key购买 nike

如果我有 place.reference 的话,有没有办法在加载时填写来自谷歌自动完成的表单

如果我输入公司名称,然后从列表中选择一个并单击它,则此代码将起作用。

但我的问题的关键部分是仅传递引用并能够填写 for 。

<?   
if(isset($_GET["ref"])){
$ref=htmlspecialchars($_GET["ref"]);
echo $ref;
}
?>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script>

<script type="text/javascript">
function initialize() {
var input = document.getElementById('searchTextField');
var autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var place = autocomplete.getPlace();
document.getElementById('city2').value = place.name;
document.getElementById('cityLat').value = place.geometry.location.lat();
document.getElementById('cityLng').value = place.geometry.location.lng();
//alert("This function is working!");
//alert(place.name);
// alert(place.address_components[0].long_name);

});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<body>
<input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on" runat="server" />
<input type="text" id="city2" name="city2" />
<input type="text" id="cityLat" name="cityLat" />
<input type="text" id="cityLng" name="cityLng" />

编辑以下建议(但不起作用):

<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script>

<script type="text/javascript">
function initialize() {
var input = document.getElementById('searchTextField');
var autocomplete = new google.maps.places.Autocomplete(input);
var request = {
reference: 'CnRtAAAAP2oQGVedOeA5z_XkX0-adnnl4hsGlSJNyuJIVEUeBnkrGcfzDw0z0Ffi7GsZBdYtx-Qmbu6ekzUpZpMwJDVVyNDOKwGsd-V5ff_Y9wN4McpGxLJ_u7reNwwlKOEtkoks4dtcpUcuu7w2hI_j0VtnYhIQtfEq0cHTD1Fl1OeL35pzIhoUE8A3wNPUB1jk5lvueDGqwtVpdbo'
};
service = new google.maps.places.PlacesService(map);
/* Here I get this Console Error: Uncaught ReferenceError: map is not defined */
service.getDetails(request, callback);

function callback(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
document.getElementById('city2').value = place.name;
document.getElementById('cityLat').value = place.geometry.location.lat();
document.getElementById('cityLng').value = place.geometry.location.lng();
}
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<body>
<input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on" runat="server" />
<input type="text" id="city2" name="city2" />
<input type="text" id="cityLat" name="cityLat" />
<input type="text" id="cityLng" name="cityLng" />

最佳答案

您可以request the details基于给定的引用,并将自动完成的 place 属性设置为返回的对象。(使用 MVCObjectset 方法,否则自动完成将无法识别更改)

一旦设置了 place-property,表单字段(searchTextField 除外)就会自动填充。

searchTextField 的值设置为返回对象的 name 属性。

也可通过 webservice 索取详细信息。当您更喜欢服务器端解决方案时(那么您必须自己设置所有字段的值)

关于javascript - 谷歌地图API放置自动填充表单onload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21972001/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com