如题。
- Controller:
public with sharing class BaiduMapController {
//业务人员(需要转化成Json传给page使用)
public String salesListJson {get;set;}
public List<Salesman__c> salesList {get;set;}
public BaiduMapController() {
salesList = [select FullName__c,Latitude__c,Longitude__c
from Salesman__c
where Latitude__c != null and Longitude__c != null
limit 100];
salesListJson = JSON.serialize(salesList);
}
}
需要提供一个List对象集合给page的Js中使用。
- VisualForce Page使用:
//获取controller的json字符串
var sl = '{!salesListJson}';
//json解析可以自动转化成对象集合,并且直接使用内部的字段
var salesList = JSON.parse(sl);
for (var i = 0; i < salesList.length; i++) {
var salesman = salesList[i];
var point = new BMap.Point(salesman.Latitude__c, salesman.Longitude__c);
var marker = new BMap.Marker(point); // 创建标注
marker.disableDragging();
//监听标注事件
marker.addEventListener("click", function(){
showInfoBox();
});
map.addOverlay(marker);
}
- 重点:controller获取的集合要转化成json字符串,在页面中手动解析才能转化成对象集合使用。