搜狗地图编程
搜狗地图编程
现在的研究方向主要围绕地图加载、地图显示、指定地理位置显示标记、标记事件监听。
开发步骤:
1、加载搜狗地图API;
2、加载地图显示API;
3、根据地理位置调用函数,在地理位置上显示标记。
以下是指定地理位置显示车辆位置,监听车辆标记事件实例:
在
之间必须加上如下内容,而且顺序必须一致:html {height: auto;}
body {height: auto;margin: 0;padding: 0;}
#map_canvas {width:1000px;height: 500px;position: absolute;}
@media print {#map_canvas {height: 950px;}}
以下是具体的操作实现
var marker;
//获取类的唯一示例
function getInstance(a) {
a.hasOwnProperty("_instance")||(a._instance = new a);
return a._instance
}
function initPage(){
var latitude = 22.9794;
var longitude = 113.12295;
var mapDiv = document.getElementById("map_canvas");
mapDiv.style.width = screen.width;//全屏幕显示地图
mapDiv.style.height = screen.height;//全屏幕显示地图
setCurrentPoint(latitude,longitude,mapDiv);//设置地图当前位置
<%
if(!db.isEmpty()){
while(db.next()){
%>
var latitude =
"<%=db.getStringValue("latitude",DataType.FLOAT)%>";
var longitude =
"<%=db.getStringValue("longitude",DataType.FLOAT)%>";
var vehicle_no = "<%=db.getStringValue("vehicle_no")%>";
var visible = true;
var align = "BOTTOM";//TOP,LEFT,RIGHT,BOTTOM
var marker =
ShowSign(latitude,longitude,vehicle_no,visible,align);//在地图上显示车辆标记
setListenMarker(marker,vehicle_no); //注册车辆标记监听事件
<%
}
}
%>
}
function setListenMarker(marker,vNo){
sogou.maps.event.addListener(marker, 'click', function() { var
url="/util/PopupPage.jsp?arg=/GenVehiclesCtrl?action_flag=ShowMapInfo &isPlay=Y&win_type=P&vehicleNo="+vNo;
url += "&dummyArg=" + (Math.random() * 100000);
window.showModalDialog(encodeURI(url),null,"dialogWidth=800px;dia logHeight=600px;center=yes;scrollbars=no;status=no;help=no;");
});
}