var map = null;
var zoom = 13;
function creatMap(data,ws){
if (!ws) {return};
wo = ws.opener();
map = new plus.maps.Map("map");
if(!data){
userLocation();
console.log("userLocation");
}else{
pcenter = new plus.maps.Point(data.pcenter_long,data.pcenter_lin);
console.log("pcenter---"+JSON.stringify(pcenter));
var marker = new plus.maps.Marker(pcenter);
marker.setIcon(data.Icon);
marker.setLabel(data.Lable);
var bubble = new plus.maps.Bubble(data.Bubble);
marker.setBubble(bubble);
map.addOverlay(marker);
map.centerAndZoom(pcenter,data.zoom || zoom);
}
}
function showPoints(points) {
if(!map){return}
for(var i=0;i<points.length;i++){
var point = new plus.maps.Point(points[i].lon,points[i].lin);
var marker = new plus.maps.Marker(point);
console.log(points[i].lon);
marker.setIcon(points[i].Icon);
marker.setLabel(points[i].Lable);
var bubble = new plus.maps.Bubble(points[i].Bubble);
marker.setBubble(bubble);
map.addOverlay(marker);
}
}
function showLine(pointsJson){
if(!map){return}
var polylineObj = null,points = new Array();
for(var i=0;i<pointsJson.length;i++){
points[i] = new plus.maps.Point(pointsJson[i].lon,pointsJson[i].lin);
}
polylineObj = new plus.maps.Polyline(points);
polylineObj.setStrokeOpacity( 0.6 );
polylineObj.setLineWidth(5);
console.log(JSON.stringify(polylineObj));
map.addOverlay(polylineObj);
}
function showGon(pointsJson){
var polygonObj = null,points = new Array();
for(var i=0;i<pointsJson.length;i++){
points[i] = new plus.maps.Point(pointsJson[i].lon,pointsJson[i].lat);
}
polygonObj = new plus.maps.Polygon(points);
map.addOverlay(polygonObj);
}
function navigation(point){
var point = {"des":"导航描述","dstlon":116.39131928,"dstlin":39.90793074,"srclon":116.335,"srclin":39.966};
var dst = new plus.maps.Point(point.dstlon,point.dstlin);
var src = new plus.maps.Point(point.srclon,point.srclin);
plus.maps.openSysMap(dst,point.des,src);
}
function drivingSearch(points){
var searchObj = new plus.maps.Search(map);
var startP = new plus.maps.Point(points.startLon,points.startLat);
var endP = new plus.maps.Point(points.endLon,points.endLat);
var startC = points.startCity,endC = points.endCity;
searchObj.onRouteSearchComplete = function (state,result) {
console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
if ( state == 0 ) {
if ( result.routeNumber <= 0 ) {alert( "没有检索到结果" );}
for(var i=0; i<result.routeNumber; i++){
if(i==1){
map.addOverlay(result.getRoute(i));
console.log(result.getRoute(i).distance);
return;
}}
} else {alert( "检索失败" );}
}
searchObj.setDrivingPolicy(plus.maps.SearchPolicy.DRIVING_DIS_FIRST);
searchObj.drivingSearch(startP,startC,endP,endC);
}
function userLocation() {
if(null == map){return};
map.showUserLocation(true);
map.getUserLocation(function(state, pos) {
if (0 == state) {
map.setZoom(zoom);
console.log(JSON.stringify(pos));
map.setCenter(pos);
}
});
}
function resetMap(map) {
map.reset();
}
function searchAndShowOnMap(city,key){
var address = null;
if(!map){return}
var searchObj = new plus.maps.Search(map);
console.log("search.."+searchObj);
searchObj.poiSearchInCity(city,key);
searchObj.onPoiSearchComplete = function(state,result){
console.log("onPoiSearchComplete: "+state+" , "+result.currentNumber);
if ( state == 0 ) {
if ( result.currentNumber <= 0 ) {
mui.alert("没有检索到结果");
}
for(var i=0; i<result.currentNumber; i++){
var pos = result.getPosition(0);
console.log(JSON.stringify(pos.address));
address = pos.address;
var marker = new plus.maps.Marker( pos.point );
map.setCenter(pos.point);
marker.setLabel(pos.name);
map.addOverlay(marker);
break;
}
}else{
mui.alert( "检索失败" );
}
}
}