这是基于vue-vben-admin 模板适用于abp vNext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
colin 0c5a11680b upgrade: upgrade abp framework to 9.0.4 1 year ago
..
LINGYUN/Abp/Location/Tencent upgrade abp framework to 8.2.0 2 years ago
FodyWeavers.xml upgrade(abp): upgrade abp framework to 7.4.0 2 years ago
FodyWeavers.xsd upgrade(abp): upgrade abp framework to 7.4.0 2 years ago
LINGYUN.Abp.Location.Tencent.csproj upgrade: upgrade abp framework to 9.0.4 1 year ago
README.EN.md feat(docs): 添加位置模块文档 1 year ago
README.md feat(docs): 添加位置模块文档 1 year ago

README.md

LINGYUN.Abp.Location.Tencent

介绍

LINGYUN.Abp.Location.Tencent 是基于腾讯地图API的位置服务实现模块,提供了地理编码、反向地理编码、IP定位等功能。

功能特性

  • 地理编码:将详细的结构化地址转换为对应的经纬度坐标
  • 反向地理编码:将经纬度坐标转换为对应的结构化地址
  • IP定位:根据IP地址获取位置信息
  • POI(兴趣点)信息:获取周边的商铺、餐厅等兴趣点信息
  • 行政区划信息:获取详细的行政区划层级信息
  • 地址解析:智能解析地址信息,支持多种格式

安装

dotnet add package LINGYUN.Abp.Location.Tencent

配置

  1. 添加模块依赖:
[DependsOn(typeof(AbpTencentLocationModule))]
public class YourModule : AbpModule
{
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        Configure<TencentLocationOptions>(options =>
        {
            // 设置腾讯地图API密钥
            options.Key = "your-tencent-map-key";
            // 可选:设置安全密钥(SK校验)
            options.SecretKey = "your-tencent-map-sk";
        });
    }
}

使用方法

  1. 注入并使用位置解析服务:
public class YourLocationService
{
    private readonly ILocationResolveProvider _locationProvider;

    public YourLocationService(ILocationResolveProvider locationProvider)
    {
        _locationProvider = locationProvider;
    }

    // 地理编码:地址转坐标
    public async Task<GecodeLocation> GeocodeAsync(string address)
    {
        // city参数可选,用于指定地址所在城市
        return await _locationProvider.GeocodeAsync(address, "北京市");
    }

    // 反向地理编码:坐标转地址
    public async Task<ReGeocodeLocation> ReGeocodeAsync(double lat, double lng)
    {
        // radius参数可选,指定搜索半径(米)
        return await _locationProvider.ReGeocodeAsync(lat, lng, 1000);
    }

    // IP地理位置解析
    public async Task<IPGecodeLocation> IPGeocodeAsync(string ipAddress)
    {
        return await _locationProvider.IPGeocodeAsync(ipAddress);
    }
}

返回数据说明

地理编码返回数据

{
    "location": {
        "lat": 39.915119,    // 纬度值
        "lng": 116.403963    // 经度值
    },
    "title": "天安门",       // 地点名称
    "address": "北京市东城区东长安街",  // 地址
    "category": "旅游景点",   // 类别
    "adcode": "110101",      // 行政区划代码
    "similarity": 0.8,       // 相似度(0-1)
    "reliability": 7,        // 可信度(1-10)
    "level": 11             // 地址类型
}

反向地理编码返回数据

{
    "location": {
        "lat": 39.915119,    // 纬度值
        "lng": 116.403963    // 经度值
    },
    "address": "北京市东城区东长安街",  // 完整地址
    "formatted_addresses": {
        "recommend": "东城区天安门",    // 推荐地址
        "rough": "北京市东城区"         // 粗略地址
    },
    "address_component": {
        "nation": "中国",              // 国家
        "province": "北京市",          // 省份
        "city": "北京市",              // 城市
        "district": "东城区",          // 区县
        "street": "东长安街",          // 街道
        "street_number": "1号"         // 门牌号
    },
    "pois": [                         // 周边POI信息
        {
            "title": "天安门",         // POI名称
            "address": "北京市东城区东长安街", // POI地址
            "category": "旅游景点",     // POI类型
            "distance": 100,          // 距离(米)
            "_distance": 100.0,       // 距离(米,浮点数)
            "tel": "",               // 电话
            "ad_info": {             // 行政区划信息
                "adcode": "110101",  // 行政区划代码
                "name": "东城区",     // 行政区划名称
                "location": {        // 行政区划中心点
                    "lat": 39.915119,
                    "lng": 116.403963
                }
            }
        }
    ]
}

更多信息