地图自定义坐标点

分析周边地点距离和坐标

地址转经纬度

import pandas as pd
import requests

def get_baidu_position(address):
    AK = '8rVGMDfibmsnRqkXrmdEUiv43pBuslsM'
    url = f'http://api.map.baidu.com/geocoding/v3/?address={address}&output=json&ak={AK}'
    res = requests.get(url)
    val = res.json()
    retval = {'地址':address,'经度':val['result']['location']['lng'],'纬度':val['result']['location']['lat'],'地区标签':val['result']['level'],'是否精确查找':val['result']['precise']}
    longitude = retval['经度']
    latitude = retval['纬度']

    return(longitude,latitude)

def get_geocode_position(address):
    '''
        接口文档:https://lbs.amap.com/api/webservice/guide/api/georegeo/
    '''
    url = 'http://restapi.amap.com/v3/geocode/geo?parameters'
    params = {
        'address': address, 
        'output': 'json',
        'key': '45a5047ed6f38e32576cd205e9f4360f'
    }

    answer = requests.get(url, params).json()
    location = answer['geocodes'][0]['location'].split(',')
    return location

address = '广州市黄埔区政府'
lo1 = get_geocode_position(address)
lo2 = get_baidu_position(address)
print(lo1, lo2)
# ['113.443119', '23.160726'] (113.45074282589162, 23.165871953067143)

地图坐标可视化

import folium
import pandas as pd

addr = '广州市黄埔区政府'
Longitude_and_latitude = get_geocode_position(addr)
Map = folium.Map(location=[Longitude_and_latitude[1], Longitude_and_latitude[0]],
            zoom_start=14,
            tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}',#影像图:http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}
            attr='default'
        )

folium.Circle([23.160750,113.443119], 3000,color='red',fill_color='red',fillOpacity=0.5).add_to(Map)
Longitude_and_latitude = get_geocode_position('广州市黄埔区政府')
folium.Marker([Longitude_and_latitude[1], Longitude_and_latitude[0]], popup=folium.Popup(names[i], max_width=1000), tooltip=names[i]).add_to(Map)
Map

pyecharts

# from pyecharts.charts import Geo
# from pyecharts import options
# from pyecharts.globals import GeoType

# addr = '广州市黄埔区联合街道光谱中路11号'
# Longitude_and_latitude = get_baidu_position(addr)
# print(Longitude_and_latitude)
# longitude = Longitude_and_latitude[0]
# latitude = Longitude_and_latitude[1]

# g = Geo().add_schema(maptype="广州")
# g.load_javascript()
# g.add_coordinate(addr, longitude, latitude)
# data_pair = [(addr,1)]
# g.add('',data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=20)
# g.set_series_opts(label_opts=options.LabelOpts(is_show=False))
# g.set_global_opts(title_opts=options.TitleOpts(title="pyecharts地图标点测试"))
# g.render_notebook()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要给天地图上的多个自定义坐标添加名称,你可以按照以下步骤进行操作: 1. 首先,确保你已经在天地图开放平台上注册并获取了API密钥。 2. 在你的Vue项目中安装天地图的JavaScript API。你可以在`index.html`文件中添加以下代码引入API: ```html <script src="http://api.tianditu.gov.cn/api?v=4.0&tk=你的天地图API密钥"></script> ``` 替换`你的天地图API密钥`为你在天地图开放平台申请的API密钥。 3. 在需要使用天地图的组件中,使用`Map`对象来创建地图,并在地图上添加自定义坐标和名称。以下是一个示例: ```html <template> <div> <div id="mapContainer" style="width: 100%; height: 400px;"></div> </div> </template> <script> export default { mounted() { this.initMap() }, methods: { initMap() { // 创建地图 const map = new T.Map("mapContainer") // 设置地图中心和缩放级别 map.centerAndZoom(new T.LngLat(116.404, 39.915), 15) // 添加自定义坐标和名称 const marker1 = new T.Marker(new T.LngLat(116.404, 39.915)) const label1 = new T.Label({ text: "自定义名称1", position: marker1.getLngLat(), offset: new T.Point(0, -30) }) map.addOverLay(marker1) map.addOverLay(label1) const marker2 = new T.Marker(new T.LngLat(116.414, 39.925)) const label2 = new T.Label({ text: "自定义名称2", position: marker2.getLngLat(), offset: new T.Point(0, -30) }) map.addOverLay(marker2) map.addOverLay(label2) } } } </script> ``` 在上面的示例中,我们通过`T.Map`创建了地图对象,并使用`centerAndZoom`方法设置了地图的中心和缩放级别。然后,我们创建了两个自定义坐标的标记和标签,并使用`addOverLay`方法将它们添加到地图上。 记得替换代码中的天地图API密钥为你自己的密钥,并根据需要修改坐标和名称。 这样,你就成功给天地图上的多个自定义坐标添加了名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值