echarts百度地图根据经纬度标点
时间: 2023-06-24 20:07:08 浏览: 61
要在echarts百度地图上标注经纬度点,可以使用以下代码:
```
option = {
bmap: {
center: [116.46, 39.92],
zoom: 10,
roam: true
},
series: [{
type: 'scatter',
coordinateSystem: 'bmap',
data: [
{name: "point1", value: [116.4,39.9]},
{name: "point2", value: [116.5,39.9]},
{name: "point3", value: [116.6,39.9]},
],
symbolSize: 10,
label: {
show: true,
formatter: '{b}'
},
itemStyle: {
color: 'purple'
}
}]
};
```
其中的 `data` 属性就是标注的经纬度点,每个点的名称和经纬度坐标需要自行填写。`symbolSize` 属性控制标记点的大小,`label` 属性控制标记点上的文字,`itemStyle` 属性控制标记点的颜色。其他的地图属性可以根据需要进行设置。
相关问题
echarts百度地图根据经纬度标点显示文字
要在echarts的百度地图上标点并显示文字,您需要使用echarts提供的百度地图扩展插件(百度地图 JavaScript API),并将echarts图表类型设置为“bmap”。
以下是一些示例代码,可以帮助您在echarts百度地图上添加文字标注:
```javascript
// 添加地图坐标点数据
var data = [
{name: '北京', value: [116.46,39.92]},
{name: '上海', value: [121.48,31.22]},
{name: '广州', value: [113.23,23.16]},
{name: '深圳', value: [114.07,22.62]},
{name: '杭州', value: [120.19,30.26]}
];
// 设置echarts图表类型为“bmap”
option = {
bmap: {
center: [104.114129, 37.550339],
zoom: 5,
roam: true,
mapStyle: {
styleJson: [{
'featureType': 'water',
'elementType': 'all',
'stylers': {
'color': '#d1d1d1'
}
}, {
'featureType': 'land',
'elementType': 'all',
'stylers': {
'color': '#f3f3f3'
}
}, {
'featureType': 'railway',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'highway',
'elementType': 'all',
'stylers': {
'color': '#fdfdfd'
}
}, {
'featureType': 'highway',
'elementType': 'labels',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'arterial',
'elementType': 'geometry',
'stylers': {
'color': '#fefefe'
}
}, {
'featureType': 'arterial',
'elementType': 'geometry.fill',
'stylers': {
'color': '#fefefe'
}
}, {
'featureType': 'poi',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'green',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'subway',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'manmade',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'local',
'elementType': 'all',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'arterial',
'elementType': 'labels',
'stylers': {
'visibility': 'off'
}
}, {
'featureType': 'boundary',
'elementType': 'all',
'stylers': {
'color': '#fefefe'
}
}, {
'featureType': 'building',
'elementType': 'all',
'stylers': {
'color': '#d1d1d1'
}
}, {
'featureType': 'label',
'elementType': 'labels.text.fill',
'stylers': {
'color': '#999999'
}
}]
}
},
series: [{
type: 'scatter',
coordinateSystem: 'bmap',
data: data.map(function (item) {
return {
name: item.name,
value: item.value.concat([1])
};
}),
symbolSize: 10,
label: {
show: true,
formatter: function (params) {
return params.data.name;
},
position: 'top'
},
itemStyle: {
color: '#ddb926'
},
emphasis: {
label: {
show: true
}
}
}]
};
```
在上面的代码中,我们设置了echarts图表类型为“bmap”,并且通过data数组添加了地图坐标点数据。我们还定义了一个散点图(type: 'scatter'),并将其坐标系设置为“bmap”。
在label属性中,我们设置了显示标注文字,并通过formatter属性设置标注的文字内容,例如这里我们使用了每个点的name属性作为标注的文字。通过position属性,我们还可以设置标注文字的位置。
最后,我们在series属性中定义了散点图的样式,例如symbolSize属性设置点的大小,itemStyle属性设置点的颜色,emphasis属性设置鼠标悬浮时的样式。
echarts百度地图输入经纬度坐标偏移
如果您在使用 echarts 中的百度地图时发现输入的经纬度坐标与实际位置有偏移,可能是因为坐标系不一致导致的。百度地图使用的是 BD-09 坐标系,而一般的 GPS 坐标系是 WGS-84 坐标系。
为了解决这个问题,您可以使用百度提供的 JavaScript API 中的坐标转换工具。具体的操作步骤如下:
1. 在您的 HTML 页面中引入百度地图 JavaScript API 的库文件:
```html
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
```
其中,密钥是您在百度地图开发者平台申请的密钥。
2. 在 JavaScript 代码中使用转换工具进行坐标转换:
```javascript
// 定义 WGS-84 坐标系下的经纬度
var lng = 116.404;
var lat = 39.915;
// 将 WGS-84 坐标系下的经纬度转换为 BD-09 坐标系下的经纬度
var point = new BMap.Point(lng, lat);
var convertor = new BMap.Convertor();
convertor.translate([point], 1, 5, function(data){
console.log(data.points[0].lng, data.points[0].lat);
});
```
其中,1 表示将 WGS-84 坐标系转换为 BD-09 坐标系,5 表示批量转换的超时时间(单位为秒),可以根据实际情况进行调整。
注意:以上代码中涉及到的 BMap 是百度地图提供的 JavaScript API 的命名空间,需要在引入库文件之后才能使用。