高德地图 订阅
高德是中国领先的数字地图内容、导航和位置服务解决方案提供商。拥有导航电子地图甲级测绘资质、测绘航空摄影甲级资质和互联网地图服务甲级测绘资质“三甲”资质,其优质的电子地图数据库成为公司的核心竞争力。公司2010年登陆美国纳斯达克全球精选市场(NasdaqAMAP)。2014年12月,高德发布了“出行保障”计划,宣布此项服务长期有效,而且最高赔付额度提高到了1000元。 [1]  2018年6月5日 苹果在美国时间6月4日的苹果开发者大会上,发布了最新的iOS 12操作系统,CarPlay支持高德地图。 [2] 展开全文
高德是中国领先的数字地图内容、导航和位置服务解决方案提供商。拥有导航电子地图甲级测绘资质、测绘航空摄影甲级资质和互联网地图服务甲级测绘资质“三甲”资质,其优质的电子地图数据库成为公司的核心竞争力。公司2010年登陆美国纳斯达克全球精选市场(NasdaqAMAP)。2014年12月,高德发布了“出行保障”计划,宣布此项服务长期有效,而且最高赔付额度提高到了1000元。 [1]  2018年6月5日 苹果在美国时间6月4日的苹果开发者大会上,发布了最新的iOS 12操作系统,CarPlay支持高德地图。 [2]
信息
软件大小
114.52MB [4]
开发商
高德软件有限公司 [5]
最新版本
10.05.2.2639 [4]
软件类型
旅游出行 [4]
中文名
高德地图 [3]
上市时间
2010年
官    网
http://ditu.amap.com/
外文名
Amap
高德地图功能
最新地图浏览器:最新矢量地图渲染,最高质量地图效果、最丰富数据信息、最快速操作体验、最节省数据流量。专业地图服务:实地采集、网络采集,行业领先。2000万POI信息,每年四次信息更新 高德地图(5张) 领先的地图渲染技术:性能提升10倍,所占空间降低80%,比传统地图软件节省流量超过90%专业在线导航功能:覆盖全国364个城市、全国道路里程352万公里在线导航功能:最新高德在线导航引擎,全程语音指引提示,完善偏航判定和偏航重导功能。AR虚拟实景:AR功能结合手机摄像头和用户位置、方向等信息,将信息点以更直观的方式展现给用户,为发现和目标地点指引丰富的出行查询功能:地名信息查询、分类信息查询、公交换乘、驾车路线规划、公交线路查询、位置收藏夹等丰富的基础地理信息查询工具。锁屏语音提示,即使你的手机在锁屏状态也能听到高德导航的语音提示,不用担心一直开着手机屏幕费电了。夜间导航HUD抬头提示,打开高德导航并开启HUD,把手机放到汽车挡风玻璃下,高德导航会把路线提示倒映到汽车挡风玻璃上,看起来特别方便,不用担心低头看手机影响驾驶了。动态导航交通路况实时播报智能计算到达目的地所需的时间避堵路线方案规划摄像头提醒离线下载2D、3D离线地图分地区下载地图包全国地图包、全国概要图地图搜索热门地点、线路搜索公交、自驾出行线路规划公交、火车、天气查询服务全新引擎最新3D版本,360度旋转视角矢量数据传送观看更流畅、更清晰兴趣点餐饮、住宿、优惠、演出、团购全覆盖海量兴趣点随意搜叫车服务2013年7月,高德地图更新,新增打车功能,综合快的打车、嘀嘀打车两家资源,覆盖80%市场份额。与阿里合作后,高德地图凭借高市场占有率,逐渐从单一地图向LBS工具箱转变。新版高德地图不仅增加了可预约的出租车数量,提高了打车效率,覆盖城市也扩展到26个。推出顺风车业务2018年3月27日,高德地图宣布推出顺风车业务,成都、武汉两地率先上线,同时开启北京、上海、广州、深圳、杭州等城市的车主招募,之后逐步向全国更多城市拓展。高德表示,该公益顺风车平台没有任何商业化目的,承诺对用户永不抽佣,也不会打补贴战,而是基于其长期积累的自驾出行用户及出行调度能力,在不增加城市道路压力的情况下,以科技手段提升运力,及社会出行效率,缓解城市交通拥堵。 [6]  高德智慧景区2.02018年11月1日,高德地图宣布,“一张地图游乌镇”正式上线,这是继高德智慧景区2.0建设的 “智能云台山”之后落地的人文智慧景区产品。 [7]  多方向实时路况2018年11月,高德地图宣布在业内首次推出“多方向实时路况”,它实现了路口处的车道级导航能力,能对路口车辆进行更精准引导,称每天可为用户出行节约近10万小时。 [8]  返程直通车2020年2月15日,高德地图上线“返程直通车”一站式服务,通过疫情信息提醒、防疫检查站及高速收费站实时车流信息、返程人员信息在线登记等多项功能,帮助自驾返程用户更好规划行程,减少返程途中在疫情检查站的停留和等待时间。 [9]  家人地图2020年7月14日,高德上线了“家人地图”功能。用户可以让家人随时看到彼此的位置,特别是针对空巢老人家庭,子女忙于工作,父母独自在家,老人有没有出门,外出去到了哪里,有没有偏离日常行动轨迹,都可以在地图上随时查看。 [10] 
收起全文
精华内容
下载资源
问答
  • 近期博主在做地理数据可视化方面的研究,pyecharts提供了较好的工具,里面提供了很多图形,尤其是Map和Geo这两种图,一种是地图,一种是地理信息图。pyecharts的基础还是echart,echart是百度地图开源的一个数据可视...

    引言

    近期博主在做地理数据可视化方面的研究,pyecharts提供了较好的工具,里面提供了很多图形,尤其是Map和Geo这两种图,一种是地图,一种是地理信息图。pyecharts的基础还是echart,echart是百度地图开源的一个数据可视化 JS 库,从我个人使用的情况来看,目前pyecharts(博主pyecharts版本是0.5.11)有这两个问题:

    • 地图精度不够。目前pyecharts提供的地图层级有世界地图、各个国家的地图、中国各省地图、中国各地市图、区县图,到区县后,就不再细分,如果我想看某条道路的具体信息,就难以实现。
    • 经纬度定位“不准确”。这不属于pyecharts是问题,应该属于百度地图在地理编码上的特点,当然,并不是说百度地图地理编码不准确,而是博主的目前在做的项目,地理位置都比较奇特,不管是BaiduMap还是AMap(高德地图)都很难定位到特别准确。由于pyecharts的底层地图是百度地图,所以看起来是pyecharts定位“不准确”。

    要解决第一个问题,就是说想要更高层级的地图,这个就需要换可视化包了,也就是说,将pyecharts改成具有其他更高层级地图的可视化包。博主使用的是folium,这个包也很强大,pyecharts的强大之处在与echart的可视化功能,folium则体现在地图及地图的扩展应用上。folium目前支持OpenStreetMap、AMap等几种地图,但不支持百度地图。一度吐血,为啥我用的这两个包底层地图就不能通用下。但其实也好,为了用好这两个包,博主对百度、高德这两大地图大佬的开发文档进行了研究,现在将二者地理编码的方式记录下来。
    开发环境:

    • Python3.7;
    • pyecharts0.5.11;
    • pycharm

    百度地图地理编码

    开发文档看这里,使用前需要去申请AK,同时最好申请开发者认证,能提升访问限制。开发文档其实写的很详细,无非是爬虫get和json解析那一套,我直接上代码。

    import json
    import pandas as pd
    import numpy as np
    from urllib.request import urlopen, quote
    import requests
    
    def Scene2CoordinateBaiduMap(filename):
        data = pd.read_csv(filename)
        result = []
        i = 1
        j = 1
        for k in data['地点']:
            address = quote(k)  # 1
            url = 'http://api.map.baidu.com/geocoder/v2/?address=' + address + '&output=json&ak=yourAK'  # 2
            req = urlopen(url)
    
            res = req.read().decode()
            temp = json.loads(res)
            try:  # 3
                result.append(temp['result']['location'])
                print('catch %d \n' % i)
                i = i + 1
            except:
                result.append({'lat': 'null', 'lng': 'null'})
                print('fail %d \n' % j)
                j = j + 1
    
        print('成功定位%d个,成功率%.2f%%' % (i - 1, (i - 1) * 100 / (i + j - 2)))
    
        df = pd.DataFrame(result)
        df.to_csv('经纬度原始数据-百度地图.csv', index=False)
    
    if __name__ == '__main__':
        main()
    

    先看导入的包,访问百度地图API返回的都是json格式的数据,要对数据进行解析,自然少不了json包,pandas和numpy常规包,基本上很难不用到,后面两个是网页数据获取的包。高德地图地理编码也是这几个包,后面不再重复写。
    几点说明:
    #1quote函数是为了得到GBK的url编码,国内的网站编码都是GBK编码的;
    #2要把url里面的AK改成你自己申请的AK,而不是yourAK这个字符串;
    #3为啥要用try来处理,因为不是所有的地理编码都能成功,如果不用try处理,容易报错,程序会中断。
    这个函数写的很详细了,你提供一个CSV文件,其中一列命名为‘地点’,就能将你的所有填写的地点都能转换成经纬度,当然,也有不成功的,总体成功率在95%左右。总体来说,定位效果还是可以的,但是如果地点数据很多填写的不规范,地理编码虽然解析出经纬度,但很多都是有问题的,比如解析出来的点不在正确的地点,如下图。
    在这里插入图片描述
    这些点本来应该都出现在无锡市地图上,但还有不少点在无锡市外,也就是说,解析的不正确。问题出在哪里?博主又回过头去看文档,文档里说,请求的参数除了address外,还有city,也就是城市,这个参数不是必须要写的,如果是写了这个,会不会就正确了呢?于是,我找了一个落在无锡地图之外的点,将请求网址写成这样:

    http://api.map.baidu.com/geocoding/v3/?address=南湖大道双庆桥公交站前&city=无锡市&output=json&ak=您的ak&callback=showLocation
    

    返回的数据如下:

    showLocation&&showLocation({"status":0,"result":{"location":{"lng":120.31700801956372,"lat":31.532789952709309},"precise":0,"confidence":50,"comprehension":24,"level":"桥"}})
    

    根据经纬度去百度地图拾取坐标系统中看看,巧了,点还对了。。。
    博主懵逼了,上午的时候,明明是不对的,所以才想到要写一篇博客来解决这个问题,回过头来一想,因为我上午写的请求网址是这样的:

    http://api.map.baidu.com/geocoding/v3/?address=南湖大道双庆桥公交站前&city='无锡市'&output=json&ak=您的ak&callback=showLocation
    

    无锡市我打了引号,其实是没必要打引号的。。。
    在这里插入图片描述
    所以,实际上,在请求网址里面加上城市名,就能保证经纬度转换的时候,所有点都落在你想要的城市里面。。。
    持续吐血,这篇博客还要写吗,我上午已经按照我的解决思路,高德地图地理编码→高德地图转百度地图→pyecharts地点上图,这个套路,解析了3000+的地点。
    都写了3000多字了,还是继续写完吧。。。

    高德地图地理编码

    开发文档看这里
    ,技术细节与百度地图基本一致,请求格式上我换了一种写法,让读者可以更灵活的使用爬虫的技巧。
    上代码

    def Scene2CoordinateAMap(filename):
        data = pd.read_csv(filename)
        sgdd = data['事故地点'].tolist()
        geo = []
        key = 'yourKEY'
        base = 'https://restapi.amap.com/v3/geocode/geo'
        j = 1
        k = 1
        for i in range(len(sgdd)):
            parameters = {'address': sgdd[i], 'key': key, 'city':'无锡'}
            response = requests.get(base, parameters)
            answer = response.json()
            try:
                pos = answer['geocodes'][0]['location']
                pos = pos.split(',')
                pos[0], pos[1] = pos[1], pos[0]
                geo.append(pos)
                print('catch %d \n'%j)
                j = j + 1
            except:
                geo.append([ 'null','null'])
                print('fail %d \n'%k)
                k = k + 1
        points = pd.DataFrame(geo)
        points.to_csv('经纬度填充-高德地图.csv', index=False, columns = ['lng', 'lat'])
        print('成功定位%d个,成功率%.2f%%' % (j - 1, (j - 1) * 100 / (j + k - 2)))
    

    为啥我会写成‘无锡’,能理解了吧,我高德就是这么写的。。。
    可以看出来,和百度地图请求方式有一点不同,我用的是requests.get去请求的,其实网上更多的推荐是用这种方式去请求,而不是用urlopen,不过我个人习惯用urlopen,两者都行吧。

    高德地图经纬度转百度地图经纬度

    其实已经没啥必要写了,因为二者都差不多。
    文档看这里,上代码

    def AMap2BaiduMap(filename):
        data = pd.read_csv(filename)
        base = 'http://api.map.baidu.com/geoconv/v1/?coords='
        tail = '&from=3&to=5&ak=yourAK'
        transpos = []
        j = 1
        k = 1
        for i in range(len(data)):
            url = base + str(data.iloc[i]['lng_Amap']) + ',' + str(data.iloc[i]['lat_Amap']) + tail
            req = urlopen(url)
            res = req.read().decode()
            temp = json.loads(res)
                         
            try:
                pos = list(temp['result'][0].values())  # 字典转列表
                transpos.append(pos)
                print('catch %d \n'%j)
                j = j + 1
            except:
                transpos.append(['null','null'])
                print('fail %d \n'%k)
                k = k + 1
        tran = pd.DataFrame(transpos)
        tran.to_csv('高德转百度.csv', index=False, columns = ['lng', 'lat'])
        print('成功转换%d个,成功率%.2f%%' % (j - 1, (j - 1) * 100 / (j + k - 2)))
    

    注意下,链接里有这么句代码

    from=3&to=5
    

    官方文档解释如下:

    源坐标类型:
    1:GPS设备获取的角度坐标,WGS84坐标;
    2:GPS获取的米制坐标、sogou地图所用坐标;
    3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,国测局(GCJ02)坐标;
    4:3中列表地图坐标对应的米制坐标;
    5:百度地图采用的经纬度坐标;
    6:百度地图采用的米制坐标;
    7:mapbar地图坐标;
    8:51地图坐标
    目标坐标类型:
    5:bd09ll(百度经纬度坐标);
    6:bd09mc(百度米制经纬度坐标)

    我是高德经纬度转百度经纬度,自然是from=3to=5。
    看看转换经纬度后的pyecharts-Geo图吧
    在这里插入图片描述
    全都在无锡市内了,大功告成,虽然没啥用了(╥╯^╰╥)

    展开全文
  • 四、完整代码 # encoding: utf-8 ''' @author 李华鑫 @create 2020-10-06 19:46 Mycsdn:https://buwenbuhuo.blog.csdn.net/ @contact: 459804692@qq.com @software: Pycharm @file: 高德地图_每个城市的天气.py @...

      大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,博客主页:https://buwenbuhuo.blog.csdn.net/
    1

    PS:由于现在越来越多的人未经本人同意直接爬取博主本人文章,博主在此特别声明:未经本人允许,禁止转载!!!


    2


    推荐

    31
      ♥各位如果想要交流的话,可以加下QQ交流群:974178910,里面有各种你想要的学习资料。♥

      ♥欢迎大家关注公众号【不温卜火】,关注公众号即可以提前阅读又可以获取各种干货哦,同时公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍1份哟~♥
    30

    一、 分析网页结构

    以往几篇都是介绍的传统的静态界面的爬取,这次博主介绍一个爬取动态网页的超简单的一个小demo
    3
    说到动态网页,你对它了解多少呢?

    如果对动态网页不认识的童鞋,博主在此给出链接,可以看百度百科的详细解析动态网页_百度百科以及小马夫的静态页面和动态页面的区别

    4
    不要怪博主没有进行讲解,因为博主本人对与动态网页的概念也不是太过了解。等到博主整理好思绪的时候,博主会专门写一篇博文的 -。-

    简单来说,要获取静态网页的网页数据只需要给服务器发送该网页url地址就行,而动态网页的数据因为是存储在后端的数据库里。所以要获取动态网页的网页数据,我们需要向服务器发送请求文件的url地址,而不是该网页的url地址。

    🆗,下面开始进入正题。

    本篇博文就以高德地图展开:https://www.amap.com/
    5
    在打开后,我们发现有一堆div标签,但是并没有我们需要的数据,这个时候就可以判定其为动态网页,这个时候,我们就需要找接口
    8
    6
    点击网络标签,我们可以看到网页向服务器发送了很多请求,数据很多,找起来太费时间

    我们点击XHR分类,可以减少很多不必要的文件,省下很多时间。

    XHR类型即通过XMLHttpRequest方法发送的请求,它可以在后台与服务器交换数据,这意味着可以在不加载整个网页的情况下,对网页某部分的内容进行更新。也就是说,向数据库请求然后得到响应的数据是XHR类型的

    然后我们就可以在XHR类型下开始一个个找,找到了如下的数据
    7
    通过查看Headers获得URL
    9
    打开之后,我们发现其为近两天的天气情况。
    10

    打开后我们可以看到上面的情况,这是个json格式的文件。然后,它的数据信息是以字典的形式来保存的,而数据是都保存在“data”这个键值里面。

    🆗,找到了json数据,我们来对比下看是否是我们找的东西
    11
    通过对比,数据正好对应,那就说明咱们已经拿到数据了。

    二、拿到相关网址

    '''
    查询当前地点天气的url:https://www.amap.com/service/cityList?version=2020101417
    各城市对应code的url:https://www.amap.com/service/weather?adcode=410700
    
    备注:这两个url可以从Network中查看到
    '''
    

    12
    🆗,相关网址我们已经拿到了,下面就是具体的代码实现了。至于怎么实现,

    我们知道json数据可以使用response.json()转字典,然后操作字典。
    13

    三、代码实现

    知道了数据的位置后,我们开始来写代码。

    3.1 查询所有城市名称和编号

    先抓取网页,通过添加headers来伪装成浏览器来对数据库地址进行访问,防止被识别后拦截。

    url_city = "https://www.amap.com/service/cityList?version=202092419"
    
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
    }
    
    city = []
    response = requests.get(url=url_city, headers=headers)
    content = response.json()
    print(content)
    

    14
    得到我们想要的数据之后,我们通过查找可以发现cityByLetter里的编号和名称是我们需要的,那么我们就可以盘它了。
    15

        if "data" in content:
            cityByLetter = content["data"]["cityByLetter"]
            for k,v in cityByLetter.items():
                city.extend(v)
        return city
    

    15

    3.2 根据编号查询天气

    得到了编号和名称,下面肯定就是查询天气呀!

    先来看接口
    16
    通过上图,可以确定最高温度,最低温度等内容。那么就以此来进行数据爬取。

    url_weather = "https://www.amap.com/service/weather?adcode={}"
    
    response = requests.get(url=url_weather.format(adcode), headers=headers)
    content = response.json()
    item["weather_name"] = content["data"]["data"][0]["forecast_data"][0]["weather_name"]
    item["min_temp"] = content["data"]["data"][0]["forecast_data"][0]["min_temp"]
    item["max_temp"] = content["data"]["data"][0]["forecast_data"][0]["max_temp"]
    print(item)
    

    17

    🆗,我们的设想已经实现了。
    20

    四、完整代码

    # encoding: utf-8
    '''
      @author 李华鑫
      @create 2020-10-06 19:46
      Mycsdn:https://buwenbuhuo.blog.csdn.net/
      @contact: 459804692@qq.com
      @software: Pycharm
      @file: 高德地图_每个城市的天气.py
      @Version:1.0
    
    '''
    import requests
    
    
    url_city = "https://www.amap.com/service/cityList?version=202092419"
    url_weather = "https://www.amap.com/service/weather?adcode={}"
    
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
    }
    
    
    def get_city():
        """查询所有城市名称和编号"""
        city = []
        response = requests.get(url=url_city, headers=headers)
        content = response.json()
    
        if "data" in content:
            cityByLetter = content["data"]["cityByLetter"]
            for k, v in cityByLetter.items():
                city.extend(v)
        return city
    
    
    def get_weather(adcode, name):
        """根据编号查询天气"""
        item = {}
        item["adcode"] = str(adcode)
        item["name"] = name
    
        response = requests.get(url=url_weather.format(adcode), headers=headers)
        content = response.json()
        item["weather_name"] = content["data"]["data"][0]["forecast_data"][0]["weather_name"]
        item["min_temp"] = content["data"]["data"][0]["forecast_data"][0]["min_temp"]
        item["max_temp"] = content["data"]["data"][0]["forecast_data"][0]["max_temp"]
    
        return item
    
    
    def save(item):
        """保存"""
        print(item)
        with open("./weather.txt","a",encoding="utf-8") as file:
            file.write(",".join(item.values()))
            file.write("\n")
    
    
    if __name__ == '__main__':
        city_list = get_city()
        for city in city_list:
            item = get_weather(city["adcode"],city["name"])
            save(item)
    

    五、保存结果

    18
    19

    美好的日子总是短暂的,虽然还想继续与大家畅谈,但是本篇博文到此已经结束了,如果还嫌不够过瘾,不用担心,我们下篇见!


    21

      好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
      如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
      码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦!

    22
    23

    展开全文
  • uni-app 接入高德地图案例

    万次阅读 热门讨论 2019-03-19 15:02:04
    第一步:注册高德地图开发者账号 地址:https://lbs.amap.com/ 第二步:创建自己的应用 (我这里是小程序的) 第三步:下载相关sdk文件,导入amap-wx.js到项目中 第四步:创建AMapWX对象 方式一: 方式二...

    第一步:注册高德地图开发者账号 地址:https://lbs.amap.com/

    第二步:创建自己的应用 (我这里是小程序的)

     第三步:下载相关sdk文件,导入amap-wx.js到项目中

     第四步:创建AMapWX对象
        方式一:

           

        方式二:

      第四步:代码编写

     

    /**  
     * map 用到的属性 
     * @param width map宽度
     * @param height map高度
     * @param latitude 中心纬度
     * @param longitude 中心经度
     * @param scale 缩放级别,取值范围为5-18
     * @param markers 标记点 
     * @param show-location 显示带有方向的当前定位点
     * @param markertap 点击标记点时触发
     * */         
    <template>
    <view>
    <view class="page-body">
    <view class="page-section page-section-gap">
    <map style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" scale="16" :markers=markers
            show-location="true" @markertap=markertap>
    </map>
    </view>
    </view>
    </view>
    </template>
    
    <script>
       export default {
            data() {
            return {
            markers: [{}, {}, {}],
            poisdatas: [{}, {}, {}],
            title: 'map',
            latitude: 30.208487,
            longitude: 120.21202,
            }
            },
          onLoad() {
            var that = this;
            var amapFile = require('../../gaodemap/amap-wx.js');
            var amapPlugin = new amapFile.AMapWX({
            key: "d79********************c2"
            });
            amapPlugin.getPoiAround({
            success: function(data) {
            //成功回调
            that.markers = data.markers;
            that.poisdatas=data.poisData;
            var markers_new = [];
            that.markers.forEach(function(item, index) {
            markers_new.push({
            id: item.id,              //marker 序号
            width: item.width,        //marker 宽度
            height: item.height,      //marker 高度
            iconPath: item.iconPath,  //marker 图标路径
            latitude: item.latitude,  //marker  纬度
            longitude: item.longitude, //marker 经度
            //自定义标记点上方的气泡窗口
            callout:{
            padding:2,        //callout 文本边缘留白
            fontSize:15,      //callout  文字大小
            bgColor:'blue',   //callout 背景颜色
            color:'#6B8E23',  //callout 文字颜色
            borderRadius:5,   //边框圆角
            display:'BYCLICK',//callout 'BYCLICK':点击显示; 'ALWAYS':常显
            content:that.poisdatas[index].name //地理位置名称
            }
            })
            })
            that.markers = markers_new;
            console.log("data", JSON.stringify(that.poisdatas));
            },
            fail: function(info) {
            //失败回调
            console.log("info", info)
            }
            })
         },
         methods: {
           //得到点击的marker的id,遍历markers数组,判断有没有相等的id
           //如果有的就能从this.poisdatas[i].address得到坐标位置(没有就提醒下)
            markertap: function(e) {
            for (var i = 0; i < this.markers.length; i++) {
            if (JSON.stringify(e).substring(18, 20) == this.markers[i].id) {
            console.log("markers" + this.poisdatas[i].name+"   "+this.poisdatas[i].address);
            uni.showToast({
            title: this.poisdatas[i].name,
            mask: false,
            duration: 1500
            });
            }
            }
    
            }
            }
         }
    </script>
    
    <style>
    </style>

      第五步:效果

    点击marker显示callout

     

    第二部分:针对下面博友问的怎么连接点。

    1.代码编写

    data() {
       return {
             markers: [{}, {}, {}],
       poisdatas: [{}, {}, {}],
       title: 'map',
             latitude: 30.208487,
             longitude: 120.21202,
             SRC: '111111111111',
             polyline: [{ //添加polyline数组,设置要连接的点(从数组的第一项连接到最后一项),这里只设置连接两个点,演示下
               points: [{ 
                   latitude: 30.208487,
                   longitude: 120.21202
                 },
                 {
                   latitude: 30.209403,
                   longitude: 120.213845
                },
              ],
                   color: "#000000", //设置连接的线的颜色
                    width: 2, //线的宽度
                    dottedLine: true, //线是否是虚线
                    arrowLine: true,//线是带箭头的线,开发者工具暂时不支持
               }],
    
          }
    },
    <view class="page-section page-section-gap"> // 绑定polyline数组
    <map style="width: 100%; height: 300px;" :polyline='polyline' :latitude="latitude" :longitude="longitude" scale="17" :markers=markers show-location="true" @markertap=markertap>
    </map>
    </view>

    2.效果

     

    这个链接是是有效的,我试过啊。
    源码地址:https://pan.baidu.com/s/1Wf3b2YpuaJjE7aaDkEgawA

    密码:w3mk
    gitlab源码地址
    https://git.lug.ustc.edu.cn/sunshine_0707/map

    我这里是小程序,是在微信开发者工具上显示的,不是app啊,你们自己注意点这个啊。

    展开全文
  • vue 使用 vue-amap 生成高德地图

    万次阅读 2020-05-28 15:56:46
    vue-amap 是 基于 Vue 2.x 与高德地图组件,数据状态与地图状态单向绑定,开发者无需关心地图的具体操作 vue-amap 官网 https://elemefe.github.io/vue-amap/#/zh-cn/introduction/install 按照其官方文档里面的...

    首先说一下,什么是vue-amap,
    vue-amap 是 基于 Vue 2.x 与高德的地图组件,数据状态与地图状态单向绑定,开发者无需关心地图的具体操作
    vue-amap 官网 https://elemefe.github.io/vue-amap/#/zh-cn/introduction/install

    按照其官方文档里面的安装教程,进行 安装 vue-amap

    npm install vue-amap --save
    

    然后,在main.js中 引入 vue-amap

    import Vue from 'vue';
    import App from './App.vue';
    
    //引入 vue-amap
    import VueAMap from 'vue-amap';
    Vue.use(VueAMap);
    VueAMap.initAMapApiLoader({
      key: 'your amap key',
      plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
      // 默认高德 sdk 版本为 1.4.4
      v: '1.4.4'
    });
    
    new Vue({
      el: '#app',
      render: h => h(App)
    })
    

    然后,新建 vue页面,复制下面代码,就能初步显示高德地图啦

    <template>
      <div id="app">
        <h3 class="title">{{ msg }}</h3>
        <div class="amap-wrapper">
          <el-amap class="amap-box" :vid="'amap-vue'"></el-amap>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      data () {
        return {
          msg: 'vue-amap向你问好!'
        }
      }
    }
    </script>
    
    <style>
    .amap-wrapper {
      width: 500px;
      height: 500px;
    }
    </style>
    

    如图:
    在这里插入图片描述

    在 vue-amap 的官方文档里面,有更多的好看的样式,但是不建议直接 完全复制vue-amap给的一些样式的代码,因为复制之后运行不起来,那怎么办呢?

    一般呢,就复制它给的样式的代码的 3-6行,然后再复制它的 script 下 data 里面的 一些所对应的一些属性
    如图所示
    在这里插入图片描述

    在这里插入图片描述
    图片大小的缘由并没有截全,自己复制的时候一定要对应上 这个里面的 一些属性,千万要复制完全,不然有可能效果不显示!

    对了,里面涉及的一些,经纬度与地址之间的转化,看我另一篇文章
    https://blog.csdn.net/ZPeng_Yan/article/details/106382999

    展开全文
  • 1、首先弄明白几种在线地图的坐标系; (1)天地图:CGCS2000,2000国家大地坐标系;我们其实很多时候直接用WGS84的坐标来代替CGCS2000坐标。因为CGCS2000的定义与WGS84实质一样。采用的参考椭球非常接近。扁率差异...
  • 高德地图

    2017-12-29 19:11:13
    好吧今天解决了一个高德地图地图的小坑,其实也不是坑,反正解决了。 就是高德地图在不同色手机上加载 aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(latlngBounds, 100)); 有的手机会无效,然后我还...
  • 高德地图拾取经纬度 + 搜索 + 标记

    千次阅读 2020-07-24 10:46:52
    代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>坐标</title>...key=0250860ccb
  • 背景根据Apple官方WWDC的回答,减少内存可以让用户体验到更快的启动速度,不会因为内存过大而导致Crash,可以让APP存活的更久。对于高德地图来说,根据线上数据的分析,内存过高会导...
  • 方法也是非常的简单,首先去高德开发平台,先申请高德API,设定一个Web服务的Key,然后将你自己的secret key填到下面的key对应的地方,就ok啦~ 进入 高德开放平台(https://lbs.amap.com/) ,没有注册先进行注册哦,...
  • html高德地图导航 跳转app

    千次阅读 2020-07-18 16:11:38
    经纬度记得调整一下; <!DOCTYPE html> <html> <head lang="en"> <include file="Public/header" /> <style> body,#mapContainer{ margin:0; height:100%;...
  • 高德地图在https中打不开问题

    千次阅读 2020-07-25 10:23:22
    今天解决了一个bug,页面中有高德地图,就是用https打开网址,打不开显示空白,但是用http可以打开,把地图部分去掉就可以正常打开。 将引入的文件改为https即可 下面是引入的其中一个js: <script src=...
  • openlayers部署离线高德地图

    千次阅读 2021-01-18 15:06:09
    一、通过Nginx反向代理 通过前置机连接高德地图,配置了很久,Nginx反向代理通了,但始终卡在了内网服务器上,内网服务器可以访问前置机的地址,端口也通了就是地图没有显示出来;我检查 看是不是代码出现问题,...
  • Python爬取高德地图各城市天气情况

    千次阅读 多人点赞 2020-07-07 09:00:18
    if not cities_data: cities_data = [data[provinces_code_dic[province]]] return cities_data return '' # 从高德地图返回的json数据中获取关键部分 def get_today_data(url,location_code): weather_url = url +...
  • 高德地图当前定位失败Geolocation permission denied 代码来自官网 ``` mapObj = new AMap.Map('iCenter'); mapObj.plugin('AMap.Geolocation', function () { geolocation = new AMap.Geolocation({ ...
  • 不多哔哔代码: <!doctype html> <html> <head> <meta charset="utf-8">...meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">... &l.
  • 首先注册高德账号
  • 通过本课程的学习,大家可以系统的学习高德地图各个接口如何在自己的项目中使用。以及如何进行扩展学习。 学习完本课程可以继续学习“Web前端开发仿美团/饿了吗移动App之高德地图接口对接案例”, 主要内容: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,392
精华内容 6,956
关键字:

高德地图