[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

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到