[google Autocomplete API 调用 查询 address,city,state]

2024-06-12 13:48

本文主要是介绍[google Autocomplete API 调用 查询 address,city,state],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主要功能:调用google  Autocomplete api  完成如下图功能。

 第一步 页面调用 google api

【https://maps.googleapis.com/maps/api/js?key=" + GoogleAPIKey + "&libraries=places&callback=InitAutocompleteCityState&language=en】

GoogleAPIKey:为自己访问【https://console.cloud.google.com/apis/dashboard】申请的google apikey,每天有免费额度。

google doc:

 第二步   需要用到的几个function

【callback=InitAutocompleteCityState】

 InitAutocompleteCityState: function () {var OptionsCity = {types: ["(cities)"], componentRestrictions: { country: "us" },fields: ["formatted_address", "address_components"], //"address_components", "geometry", "icon",};CityAutocomplete = new google.maps.places.Autocomplete((document.getElementById('Input_SearchCityState')), OptionsCity);CityAutocomplete.addListener('place_changed', function () { Detail.FillInGoogleAddress('B', CityAutocomplete); });}

FillInGoogleAddress

FillInGoogleAddress: function (tp, acomplete) {$("#Input_" + tp + "_route").val('');$("#Input_" + tp + "_zipcode").val('');$("#Input_" + tp + "_city").val('');$("#Input_" + tp + "_county").val('');$("#Input_" + tp + "_state").val('');$("#Input_" + tp + "_country").val('');var place = acomplete.getPlace();if (place != undefined && place.address_components != undefined) {//addressvar vraddress = place.address_components.find(function (e) { return e.types[0] == "route" });if (vraddress != undefined) {$("#Input_" + tp + "_route").val(vraddress.short_name);}//zipcodevar vrzipcode = place.address_components.find(function (e) { return e.types[0] == "postal_code" });if (vrzipcode != undefined) {$("#Input_" + tp + "_zipcode").val(vrzipcode.short_name);}//cityvar vrcity = place.address_components.find(function (e) { return e.types[0] == "locality" });if (vrcity != undefined) {$("#Input_" + tp + "_city").val(vrcity.short_name);}//countyvar vrcounty = place.address_components.find(function (e) { return e.types[0] == "administrative_area_level_2" });if (vrcounty != undefined) {$("#Input_" + tp + "_county").val(vrcounty.short_name);}//statevar vrstate = place.address_components.find(function (e) { return e.types[0] == "administrative_area_level_1" });if (vrstate != undefined) {$("#Input_" + tp + "_state").val(vrstate.short_name);}//countryvar vrcountry = place.address_components.find(function (e) { return e.types[0] == "country" });if (vrcountry != undefined) {$("#Input_" + tp + "_country").val(vrcountry.short_name);}}

html: 

<input id="Input_SearchCityState" type="text"  />

这篇关于[google Autocomplete API 调用 查询 address,city,state]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054387

相关文章

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Idea调用WebService的关键步骤和注意事项

《Idea调用WebService的关键步骤和注意事项》:本文主要介绍如何在Idea中调用WebService,包括理解WebService的基本概念、获取WSDL文件、阅读和理解WSDL文件、选... 目录前言一、理解WebService的基本概念二、获取WSDL文件三、阅读和理解WSDL文件四、选择对接

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja