如題。
- 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字符串,在頁面中手動解析才能轉化成對象集合使用。