APIcould通过bMap模块实现在地图上画点,划线
这是bMap的官方文档,方法中的不知道的可以在文档中找:https://docs.apicloud.com/Client-API/Open-SDK/bMap
首先是画点,
apiready = function(){
var map = api.require("bMap");
map.open({ //打开地图
rect: {
x: 0,
y: 0,
w: 'auto',
h: 'auto'
},
zoomLevel: 18,
showUserLocation: true,
});
var model = api.require("model");
model.config({
appKey:"762D5346-11D5-9402-D35B-69017EA4F345",
host:"https://d.apicloud.com"
});
model.findAll({
class: 'user_patrol',
qid: ''
},function(ret,err){
if(ret){
for (var i = 0; i < ret.length; i++) {
map.addCircle({
id: i,
center: {
lon: ret[i].lon,
lat: ret[i].lat
},
radius: 10,
styles: {
borderColor: '#FF0000',
borderWidth: 3,
fillColor: '#0000ff'
}
});
}
}
});
};
这个画出的点都是引用的数据库,就是APIcould网上自带的数据库,就是下图的这个数据库
这个是手机上面的效果
另外一个就是画线了,
首先就是网上有很多的做法,几乎都是用了BMap点出一些方法,但是BMap好像要一些别的条件,一开始不能直接用,我这里就是没有用到BMap,而是用了bMap模块,在APIcould官网上加模块,然后根据文档配置key就可以直接用了,
代码如下
apiready = function(){
var map = api.require("bMap");
map.open({ //打开地图
rect: {
x: 0,
y: 0,
w: 'auto',
h: 'auto'
},
zoomLevel: 18,
showUserLocation: true,
});
var model = api.require("model");
model.config({
appKey:"762D5346-11D5-9402-D35B-69017EA4F345",
host:"https://d.apicloud.com"
});
model.findAll({
class: 'user_HistoricalPath',
qid: ''
},function(ret,err){
if(ret){
for (var i = 0; i < ret.length; i++) {
if(i>0){
//下面的addline就是划线的方法
map.addLine({
id: i,
styles: {
borderColor: '#FF0000',
borderWidth: 3
},
points: [{
lon:ret[i-1].lon,
lat:ret[i-1].lat
},{
lon: ret[i].lon,
lat: ret[i].lat
}]
});
}
}
}
});
};
因为这里用了for循环,所以说是可以划出任意个点的,然后在我上篇博客里面的子线程时间缩短的话,就可以划出比较真实的轨迹了,
然后数据库也是网上的,和上面的那个图一样,就不发了
这个是效果图,那个比地铁线细好多的,就是用数据库的点画出来的线