精华内容
下载资源
问答
  • API高德地图搜索选择地址实例,API高德地图搜索选择地址实例
  • 背景: 我是一家做外卖运营公司的BI分析师,刚进入公司,...1.高德搜索POI 要调用高德的API服务,首先需要注册高的开发者账号,去控制台创建应用,获取一个KEY,然后就可以开始使用高德API服务啦! 其中,POI是“Point

    背景:
    我是一家做外卖运营公司的BI分析师,刚进入公司,运营找到我说希望能帮助每一家外卖店定位其半径3公里(正常的配送范围)内商务写字楼多还是住宅类型多,这样可以方便在工作日和周末区分指定策略,住宅类的店家那么可以将折扣预算倾斜在周末,而商务类的可以周一到周四进行活动倾入,那么如何判断该公司是住宅类的还是商务类的就成了一个需要研究的问题。

    1.高德搜索POI
    要调用高德的API服务,首先需要注册高的开发者账号,去控制台创建应用,获取一个KEY,然后就可以开始使用高德API服务啦!
    其中,POI是“Point of Interest”的缩写,中文翻译叫兴趣点,在地理信息系统中,一个POI可以是一个商铺、一个公交站等等等。
    在这里插入图片描述
    如上图所示,POI搜索可以分为关键字搜索,周边搜索,多边形搜索几种,我们的研究中是传入一个门店地址经纬度,然后获取其周边有多少个写字楼类型的和住宅楼类型的POI个数,以门店半径3公里范围内的不同类型的POI个数来判断门店所属店圈类型,其中类型
    具体需要传入的参数以及输出的参数,可以参考高德官网说明:https://lbs.amap.com/api/webservice/guide/api/search#around

    1.1.获取代码

    import pandas as pd
    import numpy as np
    import requests
    import time,datetime
    
    def get_gaode_data(location):
        '''120100|120201|120202|120203为写字楼类的类型,具体类型可以查看高德的下载文档《POI分类编码》说明:
        https://lbs.amap.com/api/webservice/download'''
        types=['120100|120201|120202|120203','120301|120302|120303|120304','141201|141205|141206|141207']
        result=[]
        for i in types:
            parameters = {'location': location, 'key': 'APIKEY','types':i,'offset':25,'radius':3000}#这里的APIKEY为自己申请的
            base = 'https://restapi.amap.com/v3/place/around'
            response = requests.get(base, parameters)
            answer = response.json()
            dic={}
            dic['store_location']=location
            dic['type_desc']=i
            dic['poi_count']=answer['count']
            result.append(dic)
        return result
    
    def poi_type(x):
        if x=='120100|120201|120202|120203':
            y= '商务写字楼'
        elif x=='141201|141205|141206|141207':
            y= '高等学校'
        else:
            y= '住宅区'
        return y
     
    #读取数据
    df3=pd.read_csv(r'D:szl\data\locations.csv',sep='\t',encoding='utf-8')
    #读取经纬度列,去重改成列表形式
    location_list=df3['jingweidu'].drop_duplicates().values.tolist()
    export_data=pd.DataFrame()
    for li in range(len(location_list)):
        store_location=location_list[li]
        begin_dt=datetime.datetime.now()
        result_store=get_gaode_data(store_location)
        result_store_df=pd.DataFrame(result_store)
        export_data=export_data.append(result_store_df)
        #监控调取进度,每1000条打印一次
        if li%1000==0:
            print ('%s执行成功'%location_list[li])
      export_data.to_csv(r'D:\szl\data\locations_export.csv',sep='\t')
    

    2. 基于订单地址类型的属性判断
    以上方法是基于搜索POI进行的,为了加强结论的可靠性,我们根据每个门店的订单地址的经纬度有进行了验证,查看订单所属的地址类型,这里就用到了高德的逆地理编码功能,具体内容同样可以参照链接:https://lbs.amap.com/api/webservice/guide/api/georegeo#regeo

    2.1获取代码

    #根据经纬度返回地址/社区/楼宇/商圈/poi等信息
    #使用:根据品牌的订单经纬度信息匹配地址的住宅/写字楼类型
    import pandas as pd
    import requests
    import numpy as np
    import openpyxl
    import xlrd
    import time,datetime
    import zipfile
    import os
    
    def regeocode(location):
        parameters1 = {'location': location, 'key': 'APIKEY','radius': '100', 'extensions' :'all','batch':'true','roadlevel':'0'}
        base1 = 'http://restapi.amap.com/v3/geocode/regeo'
        response1 = requests.get(base1, parameters1)
        answer1 = response1.json()
        
        dic={}
        location1=answer1['regeocodes'][0]['addressComponent']['building']['name']
        building =answer1['regeocodes'][0]['addressComponent']['building']['name']  # 楼宇
        formatted_address =answer1['regeocodes'][0]['formatted_address']
        buildingtype=answer1['regeocodes'][0]['addressComponent']['building']['type']
        if answer1['regeocodes'][0]['pois']==[]:
            pois=''
            pois_type=''
        else:
            pois = answer1['regeocodes'][0]['pois'][0]['name']  # 兴趣点
            pois_type=answer1['regeocodes'][0]['pois'][0]['type']
        province=answer1['regeocodes'][0]['addressComponent']['province']
        district =answer1['regeocodes'][0]['addressComponent']['district']
    
        dic['location']=location
        dic['formatted_address']=formatted_address
        dic['province']=province
        dic['district']=district
        dic['building']=building
        dic['buildingtype']=buildingtype
        dic['pois']=pois
        dic['pois_type']=pois_type
        return dic
    
    
    if __name__=='__main__':
        inputfile='C:\\Users\\77202\\Desktop\\poi_beijing_v2(1).xlsx'
        df1=pd.read_excel(inputfile,sheet_name='Sheet2')
        location_df=list(df1['location'])
        result=[]
        for i in range(len(location_df)):
            print('第%s条执行成功'%i)
            location1=location_df[i]
            print (location1)
            dic1=regeocode(location1)
            print (type(dic1))
            result.append(dic1)
        result2=pd.DataFrame(result)
        print ('地理数据生成完毕,开始插入excel')
        #df2=pd.merge(df1,location_df1,on='location',how='left')
        writer=pd.ExcelWriter('C:/Users/77202/Desktop/address_geo_type_info.xlsx')
        result2.to_excel(writer,index=False)
        writer.save()
        print ('success')
    

    另外,最后我们从业务角度,我们增加了每个门店在周末和工作日的午餐时段的订单量分布情况,从业务角度也对门店类型做了判断,三种方式结合判断门店所属类型,三种方法之间,70%的门店类型是一致的,说明结果还是比较好的。

    展开全文
  • } </style> </head> <body> <div id="container"></div> <div id="searchNode"> <input type="" name="" id="searchInput" /> 搜索(搜‘台子村’)</button> </div> <div id="setCenterNode"></div> <script> var ...
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.11&key=9de88a718781910c9a1c81230827d1ce&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
            <title>searchNearby</title>
            <style>
                *{
                    padding: 0;
                    margin: 0;
                    list-style: none;
                }
                #container{
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                }
                #searchNode{
                    position: absolute;
                    z-index: 9;
                    width: 300px;
                    height: 100px;
                    background: white;
                    text-align: center;
                    padding-top: 20px;
                }
                #setCenterNode{
                    position: absolute;
                    z-index: 9;
                    width: 300px;
                    background: white;
                    top: 100px;
                }
            </style>
        </head>
        <body>
            <div id="container"></div>
            <div id="searchNode">
                <input type="" name="" id="searchInput" />
                <button id="btn">搜索(搜‘台子村’)</button>
            </div>
            <div id="setCenterNode"></div>
            
            <script>
                var map = new AMap.Map('container',{
                    zoom:10,
                    center:[116.391867,39.928682]
                });
                
                AMap.service(['AMap.PlaceSearch'],function(){
                    btn.onclick = function(){
                        new AMap.PlaceSearch({
                            // type:'餐饮',
                            pageSize:5,
                            pageIndex:1,
                            city:'010',//北京城市号码010
                            citylimit:false,
                            map:map,
                            panel:'setCenterNode'
                        }).searchNearBy('',[116.391867,39.928682],500,function(status, result){
                            //含经纬度
                            console.log(status)
                            console.log(result)
                            var longitude=result.poiList.pois[0].location.lng
                            var latitude=result.poiList.pois[0].location.lat
                            alert(longitude+','+latitude)
                        });
                    }
                });
    
            </script>
        </body>
    </html>
    
    展开全文
  • 下载:https://download.csdn.net/download/billhepeng/11929594
    展开全文
  • 调用高德地图JS-api,PlaceSearch搜索附近地址,地图上出现的点标记不易清除,clear方法无效  AMap.service('AMap.PlaceSearch',function(){//回调函数  //实例化PlaceSearch  placeSearch= new AMap.PlaceSearch...

    调用高德地图JS-api,PlaceSearch搜索附近地址,地图上出现的点标记不易清除,clear方法无效

     AMap.service('AMap.PlaceSearch',function(){//回调函数
              //实例化PlaceSearch
              placeSearch= new AMap.PlaceSearch({
                pageSize: 5,//每页显示多少行
                pageIndex: 1,//显示的下标从那个开始
              //  type:'餐饮服务',//类别,可以以|后面加其他类
                city: "010", //城市
                map: map,//显示地图
           // extensions:"base",
                panel: "result"//服务显示的面板
              });
                 //TODO: 使用placeSearch对象调用关键字搜索的功能
               placeSearch.search(InputValue, function(status, result) {
                map: map 
            
               });
          })

    以下是解决方法,

    if(this.placeSearch){

       this.placeSearch.clear();

       if(this.placeSearch.render){

           this.placeSearch.render.markerList.clear();

       }

    }

    展开全文
  • 高德地图API 需求描述: 在新增地址信息的时候,我们需要根据input输入的关键字调用地图的输入提示API,获取到返回的数据,并根据这些数据生成下拉列表,选择某一个即获取当前的地址相关信息(包括位置名称、...
  • 8158921-50a76999e138f579.jpeg高德地图的poi不能点击信息窗口然后获取...要先引入cdn高德地址html搜索@click="openMarkerTipById1(index,$event)"@mouseout="onmouseout_MarkerStyle(index+1,$event)":key="index...
  • 下面介绍高德地图模糊搜索地址的使用:   < template > < el-form class ="wrapper" ref ="orderForm" :model ="orderForm" :rules ="addRules" label-width ="100px" > < el-form-item label =...
  • 高德地图集成定位和根据地址搜索经纬度进行定位功能,相关代码 高德地图集成定位和根据地址搜索经纬度进行定位功能,相关代码
  • 使用restTemplate请求高德地图关键字搜索地址API,数据量大时转换JSON异常问题处理。 1.问题发现: 在我们拼接好参数并准备用restTemplate调用高德地图关键字搜索地址API时,使用restTemplate.getForObject()这个...
  • 高德poi搜索

    2021-01-11 17:45:38
    -- 原始地址://webapi.amap.com/ui/1.0/ui/misc/PoiPicker/examples/search.html --> <base href="//webapi.amap.com/ui/1.1/ui/misc/PoiPicker/examples/"/> <meta charset="utf-8.
  • android根据高德地图仿微信发送地址,自动搜索附近店铺及地址。架包和配置参考高德地图官网
  • 高德地图——搜索

    千次阅读 2016-06-22 08:07:15
    这里简单了解释了高德地图搜索中的,关键字搜索,周边搜索,输入提示,路径规划,坐标/地址查询。
  • 原文地址:高德地图搜索周边的实现 http://blog.csdn.net/qq_31530015
  • 微信小程序:高德API-PoI地址搜索

    千次阅读 2018-08-23 16:53:18
    1.进入高德地图API官网,登陆,开发支持-微信小程序SDK,控制台,应用管理,创建开发需要的key。注意:服务平台,必须是微信小程序。key用于什么开发就创建什么平台Key。 2.下载 amap-wx.js开发包,...
  • 由于最近有网站选择定位获取地址的需求,花了点时间,参考高德地图官方例子以及Api文档,简单实现了一个小Demo。打算总结一下遇到的问题,方便以后二度开发。 HTML代码: &lt;!DOCTYPE html&gt; &lt...
  • $('#infoBottom').append('[i].location.lng+' lat='+locationList[i].location.lat+'><div class="infoName"><p>名称:'+locationList[i].name+'</p></div><div class="infoAddress"><p>地址:<span>'+...
  • 1、高德地图 实现效果 打印数据 实现步骤: 1、首先去高德开放平台注册应用 高德开放平台:https://lbs.amap.com/ 2、点击我的应用 ——>设置 注:SHA1获取方法:https://blog.csdn.net/mei...
  • 首先贴下百度扒的帖子,...我修改了他得到数据之后的方法,他会把搜索到的地址全部显示在地图上,而我们只需要展示最精确的那一个。以下是代码: 转载于:https://www.cnblogs.com/zjy850984598/p/11391323.html...
  • 一、需求分析 需要做一个类似于高德地图的搜索可以参考高德地图,... 二、后台接口SpringBoot+高德地图Web服务 高德服务地址:https://lbs.amap.com/api/webservice/summary/ 用的高德搜索POI和输入提示 Cont
  • 之前公司项目收货地址仿饿了么的收货地址,结果发现自己实现的关键字搜索和周边搜索搜索到的poi列表跟饿了么的并不完全一样,后来考虑了下,应该是搜索的范围、类型之类的设置的不一样。后来搜索了下,也的确是...
  • emmmm,效果图先行(搜索定位以及自由滑动地图展示周边位置信息,根据点击的位置获取经纬度)aa.gif主要代码packagecom.dydd.wsp.dreamtree.ui.mapimportandroid.content.Contextimportandroid.os.Bundleimportandroid....
  • 1、页面加载时,获取城市定位(pc端只能通过IP定位,安卓和ios可以通过GPS实现具体地址定位) 2、定位成功后,通过城市名或者经纬度完成地图初次渲染 3、绑定点击事件,根据事件返回的数据,进行逆地理编码,获取...
  • 不废话,需求:输入一个地址,获取到它的经纬度,怎么办?...2、下载高德定位及地址搜索SDK:https://download.csdn.net/download/meixi_android/10845407 3、项目绑定高德SDK 1)配置key <meta-dat...
  • 高德api 页面加载完成/提示框选中/点击地图根据经纬度 获取并设置地址 &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta ...
  • 使用高德地图时,通过搜索便可将地址搜索出来,但是想点击当前marker获取当前的经纬度和具体地址时,如下图: AMap.event.addListener(autocomplete, "select", function(e){ //TODO 针对选中的poi实现自己的功能 ...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 266
精华内容 106
关键字:

高德搜索地址