echarts中geoCoordMap世界地图国家及中国城市的经纬度数组整理

他人的

中国各城市经纬度坐标

export default {
   
   
    阿克苏地区: [80.260604, 41.168779],
    和田地区: [79.922211, 37.114157],
    上海: [121.480237, 31.236305],
    东莞: [113.758231, 23.026997],
    东营: [118.588614, 37.454925],
    中山: [113.399023, 22.522262],
    临汾: [111.526153, 36.094052],
    临沂: [118.36299, 35.110531],
    丹东: [124.362564, 40.00569],
    丽水: [119.929503, 28.472979],
    乌鲁木齐: [87.623314, 43.832806],
    佛山: [113.128432, 23.027707],
    保定: [115.471052, 38.880055],
    兰州: [103.840692, 36.067312],
    包头: [109.846755, 40.663636],
    北京: [116.413554, 39.911013],
    北海: [109.126614, 21.486955],
    南京: [118.802891, 32.064735],
    南宁: [108.373351, 22.823037],
    南昌: [115.864528, 28.687675],
    南通: [120.900301, 31.985237],
    厦门: [118.095915, 24.485821],
    台州: [121.426996, 28.662297],
    合肥: [117.235447, 31.82687],
    呼和浩特: [111.758518, 40.847461],
    咸阳: [108.715712, 34.335599],
    哈尔滨: [126.542417, 45.807782],
    唐山: [118.187036, 39.636673],
    嘉兴: [120.762045, 30.750912],
    大同: [113.306446, 40.082539],
    大连: [121.621391, 38.919345],
    天津: [117.205914, 39.090908],
    太原: [112.55706, 37.876885],
    威海: [122.128245, 37.519322],
    宁波: [121.556686, 29.880177],
    宝鸡: [107.243899, 34.367747],
    宿迁: [118.282062, 33.967686],
    常州: [119.980142, 31.816791],
    广州: [113.270793, 23.135308],
    廊坊: [116.69034, 39.54352],
    延安: [109.496361, 36.591003],
    张家口: [114.894165, 40.830172],
    徐州: [117.29235, 34.210143],
    德州: [116.365825, 37.441313],
    惠州: [114.423348, 23.116409],
    成都: [104.071216, 30.576279],
    扬州: [119.419107, 32.39986],
    承德: [117.969798, 40.957855],
    拉萨: [91.121025, 29.650088],
    无锡: [120.318954, 31.496704],
    日照: [119.533606, 35.422798],
    昆明: [102.839667, 24.885953],
    杭州: [120.161693, 30.280059],
    枣庄: [117.328513, 34.816569],
    柳州: [109.42198, 24.331519],
    株洲: [113.140431, 27.833737],
    武汉: [114.311831, 30.598428],
    汕头: [116.688739, 23.359289],
    江门: [113.088165, 22.584459],
    沈阳: [123.438973, 41.811339],
    沧州: [116.845272, 38.31022],
    河源: [114.707097, 23.749829],
    泉州: [118.682316, 24.880242],
    泰安: [117.094893, 36.205905],
    泰州: [119.932115, 32.4612],
    济南: [117.001319, 36.671627],
    济宁: [116.593852, 35.420269],
    海口: [110.206424, 20.050057],
    淄博: [118.061254, 36.819182],
    淮安: [119.022429, 33.616272],
    深圳: [114.066112, 22.548515],
    清远: [113.062619, 23.688238],
    温州: [120.705869, 28.001095],
    渭南: [109.516739, 34.505687],
    湖州: [120.094566, 30.899015],
    湘潭: [112.950575, 27.83585],
    滨州: [117.9792, 37.388387],
    潍坊: [119.168138, 36.713212],
    烟台: [121.454425, 37.469868],
    玉溪: [102.5537, 24.357512],
    珠海: [113.583235, 22.276392],
    盐城: [120.168187, 33.355301],
    盘锦: [122.077269, 41.125939],
    石家庄: [114.520828, 38.048684],
    福州: [119.302938, 26.080447],
    秦皇岛: [119.606184, 39.941259],
    绍兴: [120.586673, 30.036519],
    聊城: [115.992077, 36.462681],
    肇庆: [112.47177, 23.052984],
    舟山: [122.214339, 29.991092],
    苏州: [120.589613, 31.304566],
    莱芜: [117.683221, 36.219357],
    菏泽: [115.487696, 35.239435],
    营口: [122.241475, 40.672565],
    葫芦岛: [120.843388, 40.717364],
    衡水: [115.676942, 37.745166],
    衢州: [118.880768, 28.941661],
    西宁: [101.784269, 36.623477],
    西安: [108.946306, 34.347436],
    贵阳: [106.636816, 26.652747],
    连云港: [119.229571, 34.602342],
    邢台: [114.510889, 37.076646],
    邯郸: [114.545808, 36.631222],
    郑州: [113.631349, 34.753488],
    鄂尔多斯: [109.787314, 39.61463],
    重庆: [106.557165, 29.570997],
    金华: [119.654027, 29.084455],
    铜川: [108.951558, 34.902957],
    银川: [106.238976, 38.492392],
    镇江: [119.431494, 32.195688],
    长春: [125.33017, 43.82178],
    长沙: [112.945333, 28.233971],
    长治: [113.123046, 36.201585],
    阳泉: [113.587087, 37.86234],
    青岛: [120.389445, 36.072358],
    韶关: [113.603757, 24.816174],
    九江: [116.007993, 29.711328],
    大庆: [125.109727, 46.593216],
    宁德: [119.554701, 26.671748],
    忻州: [112.740804, 38.422382],
    石嘴山: [106.39078, 38.989783],
    池州: [117.497839, 30.67098],
    淮南: [117.006189, 32.631837],
    吐鲁番地区: [89.196029, 42.957303],
    宜昌: [111.292971, 30.697602],
    景德镇: [117.184967, 29.274337],
    安庆: [117.070127, 30.548594],
    怒江傈僳族自治州: [98.863189, 25.823736],
    白城: [122.845302, 45.6254],
    萍乡: [113.86077, 27.62897],
    抚州: [116.364627, 27.953603],
    朝阳: [120.457301, 41.579487],
    海东: [102.003965, 36.406412],
    湘西土家族苗族自治州: [109.745507, 28.317399],
    鹰潭: [117.075765, 28.265879],
    阿拉善盟: [105.735357, 38.857806],
    大阪府: [0, 0],
    鹤岗: [130.304284, 47.356043],
    吴忠: [106.205161, 38.003863],
    石河子: [86.085507, 44.312423],
    开封: [114.313904, 34.802941],
    延边朝鲜族自治州: [129.515602, 42.897211],
    白银: [104.144182, 36.550821],
    吕梁: [111.148086, 37.525476],
    随州: [113.389071, 31.696341],
    雅安: [103.04636, 30.021277],
    平顶山: [113.198935, 33.772051],
    阜新: [121.676518, 42.027983],
    普洱: [100.98114, 22.788486],
    三亚: [109.518646, 18.258217],
    赣州: [114.94126, 25.837179],
    广元: [105.849993, 32.441808],
    锦州: [121.133631, 41.100869],
    南充: [106.117231, 30.843297],
    衡阳: [112.578397, 26.899517],
    齐齐哈尔: [123.924531, 47.360087],
    兴安盟: [122.044544, 46.088444],
    乌海: [106.80185, 39.660154],
    楚雄彝族自治州: [101.534082, 25.051226],
    伊春: [128.84704, 47.733329],
    陇南: [104.928233, 33.406825],
    荆门: [112.205843, 31.041792],
    辽源: [125.150107, 42.8943],
    怀化: [110.008116, 27.575595],
    牡丹江: [129.638976, 44.558647],
    黄南藏族自治州: [102.021495, 35.526125],
    湛江: [110.365494, 21.277163],
    天水: [105.731276, 34.587162],
    黔东南苗族侗族自治州: [107.990602, 26.589858],
    云浮: [112.051045, 22.921154],
    安康: [109.03592, 32.690575],
    日喀则地区: [88.956063, 29.26816],
    海北藏族自治州: [100.907395, 36.960702],
    海西蒙古族藏族自治州: [97.377823, 37.382839],
    吉安: [115.00027, 27.119751],
    黄石: [115.045433, 30.205336],
    宿州: [116.970454, 33.652034],
    茂名: [110.931773, 21.669051],
    阳江: [111.989051, 21.864421],
    信阳: [114.099264, 32.153186],
    三门峡: [111.206832, 34.778442],
    咸宁: [114.328967, 29.847123],
    许昌: [113.858804, 34.041737],
    保山: [99.168373, 25.117882],
    鹤壁: [114.304044, 35.752656],
    运城: [111.013379, 35.032587],
    达州: [107.474504, 31.214347],
    常德: [111.704994, 29.037723],
    酒泉: [98.500427, 39.738615],
    马鞍山: [118.512691, 31.67633],
    南阳: [112.535009, 32.996701],
    邵阳: [111.474133, 27.245167],
    黔南布依族苗族自治州: [107.528663, 26.260586],
    孝感: [113.922962, 30.930712
<think>好的,我现在需要回答用户关于ECharts地图中data的name是否必须为城市名,以及value是否可以是经纬度数组的问题。用户之前已经提问过相关问题,并且现在引用了三个参考内容,我需要结合这些引用和之前的回答来给出准确的回复。 首先,回顾用户的历史问题,之前用户问的是“echarts地图 data里面的name必须是城市名”,而我的回答指出name必须与注册的地图数据中的区域名称完全一致,不一定是城市名,可以是任何名称,只要和geoJSON中的定义匹配。现在用户的新问题是在此基础上进一步确认,特别是value是否可以是经纬度数组。 接下来,查看用户提供的三个引用: 引用1中提到,构建dataGeo时,结构是城市名称和经纬度,例如mapPointData.push({ name: '六安', value: [116.50, 31.75] })。这说明在散点图或地图标记点的情况下,name可能对应城市名,而value是经纬度数组。 引用2中的代码显示,通过geoJson.features获取地区的名称和经纬度,并将数据转换为包含name和value的结构,其中value是经纬度数组。例如,convertData函数将数据转换为{ name: "北京", value: [经度, 纬度, 其他值] }。这里value的经纬度可能来自geoJson中的cp属性。 引用3讨论了tooltip的显示问题,当value为空时无法展示数据。这提示value字段的数据结构会影响提示框的内容,如果value是经纬度数组,可能需要特别处理formatter函数。 根据之前的回答,name必须与geoJSON中的区域名称匹配,而不一定是城市名。例如,如果geoJSON定义的是省份,那么name应该是省份名;如果是自定义区域,可以是任何名称。而关于value是否可以是经纬度数组,根据引用1和2,当使用散点图或需要地理坐标时,value确实可以存储经纬度数组,但需要结合具体图表类型,比如geoCoordMap可能用于映射name到经纬度,或者在散点图中直接使用经纬度。 需要注意,如果用户是在使用地图系列(series type: 'map'),则通常name对应区域名称,而value是数值,此时经纬度可能由地图数据本身定义。而如果用户是在使用散点图(series type: 'scatter')覆盖在地图上,则value的经纬度数组是必要的,用于定位点的位置。 因此,回答需要区分不同的图表类型,并说明在什么情况下name需要是城市名或区域名,以及value作为经纬度数组的适用场景。同时,需要强调name必须与注册的地图数据一致,而value的用途取决于图表类型,可以是数值或坐标数组。</think>--- ### **核心结论** 在ECharts地图中: 1. **`data.name`不一定必须是城市名**,但必须与**注册的地图数据(geoJSON)中的区域名称完全一致**(无论是城市、省份、自定义区域还是其他名称)。 2. **`data.value`可以是经纬度数组**,但需根据**图表类型**和**数据用途**决定其格式。 --- ### **详细分析** #### **1. `data.name`的匹配规则** - **原则**:`name`字段需与geoJSON中的区域名称**严格一致**,而非必须是城市名。例如: - 若geoJSON中区域定义为`"安徽省"`,则`name`必须为`"安徽省"`,而非`"安徽"`或`"Anhui"`。 - 若geoJSON中区域为自定义名称(如`"销售区域A"`),则`name`需与其匹配[^1][^2]。 - **验证方法**: 通过以下代码获取geoJSON中的实际区域名称列表: ```javascript const geoJSON = echarts.getMap('地图名称').geoJson; const names = geoJSON.features.map(feature => feature.properties.name); console.log(names); // 输出所有可用的name值 ``` #### **2. `data.value`的格式与用途** - **场景1:地图系列(`series.type: 'map'`)** - **用途**:用于区域颜色映射(如热力图)。 - **格式**:`value`通常为**数值**,例如: ```javascript data: [{name: '广东省', value: 100}] ``` - **经纬度的作用**:此时经纬度由geoJSON中的`properties.cp`字段自动关联,无需在`value`中重复定义[^2]。 - **场景2:散点图/标记点(`series.type: 'scatter'`或`effectScatter`)** - **用途**:在地图上绘制独立点(如城市标记)。 - **格式**:`value`需为**经纬度数组**,例如: ```javascript data: [ {name: '六安', value: [116.50, 31.75]}, // 经纬度数组 {name: '马鞍山', value: [118.51, 31.68]} ] ``` - **注意**:需将坐标系设为`'geo'`以匹配地图位置[^1]。 - **场景3:混合数据(同时使用地图区域和散点)** 需分两个`series`配置: ```javascript series: [ // 地图区域系列 {type: 'map', map: 'china', data: [{name: '广东省', value: 100}]}, // 散点系列 {type: 'scatter', coordinateSystem: 'geo', data: [{name: '深圳', value: [114.05, 22.55]}] ] ``` --- ### **常见问题与解决方案** #### **问题1:数据未显示** - **原因**:`name`与geoJSON中的名称不匹配,或`value`格式错误。 - **排查步骤**: 1. 检查geoJSON中的区域名称是否与`data.name`一致。 2. 确认`value`格式是否符合图表类型要求(数值或经纬度数组)[^3]。 #### **问题2:经纬度无效** - **原因**:未正确关联geoJSON中的坐标。 - **解决方案**:通过`geoCoordMap`将名称映射到经纬度(如引用[2]所示): ```javascript // 从geoJSON中提取名称与经纬度的映射关系 const geoCoordMap = {}; echarts.getMap('china').geoJson.features.forEach(feature => { geoCoordMap[feature.properties.name] = feature.properties.cp; }); ``` --- ### **示例代码** #### 地图区域与散点结合 ```javascript // 注册地图 echarts.registerMap('china', chinaGeoJSON); // 配置option option = { geo: { map: 'china', type: 'map' }, series: [ // 地图区域数据(热力值) { type: 'map', map: 'china', data: [{name: '广东省', value: 100}] }, // 散点数据(经纬度) { type: 'scatter', coordinateSystem: 'geo', data: [ {name: '六安', value: [116.50, 31.75]}, {name: '马鞍山', value: [118.51, 31.68]} ] } ] }; ``` --- ### **相关问题** 1. 如何在ECharts中同时显示地图区域热力和散点标记? 2. 如何从geoJSON中提取区域名称和经纬度的映射关系? 3. 地图数据不显示时如何进行快速定位和修复? [^1]: 引用自站内示例代码:通过经纬度构建地图标记点。 [^2]: 引用自站内geoJSON数据处理方法:通过`geoCoordMap`关联名称与经纬度。 [^3]: 引用自站内tooltip配置经验:处理`value`为空时的异常情况。
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值