var id = mobile.getUrlVars('id');
var index;
var map = new BMap.Map("map");
var myGeo = new BMap.Geocoder();
var mypoint;
mui.init();
mui.ready(function() {
initmap();
$("#location").on("tap","li",function(){
$('#location').hide();
mypoint = new BMap.Point($(this).find(".longitude").html(),$(this).find(".latitude").html());
var allOverlay = map.getOverlays();
for (var i = 0; i < allOverlay.length -1; i++){
console.info(allOverlay[i].getTitle());
if(allOverlay[i].getTitle() == "位置"){
map.removeOverlay(allOverlay[i]);
}
}
addPoint();
});
//搜索
$(".mui-search").on("input propertychange","input[type='search']",function(){
var key = $.trim($('.mui-indexed-list-search-input').val());
local.search(key);
});
//搜索
$("#search").on("tap",function(){
var key = $.trim($('.mui-indexed-list-search-input').val());
local.search(key);
});
//隐藏
$(".mui-icon-closeempty").on("tap",function(){
$('.source').hide();
});
var options = {
onSearchComplete: function(results){
$('#location').html('');
if (local.getStatus() == BMAP_STATUS_SUCCESS){
for (var i = 0; i < results.getCurrentNumPois(); i ++){
(function(i){
var place = results.getPoi(i);
var point = new BMap.Point(place.point.lng,place.point.lat);
myGeo.getLocation(point, function(result){
if (result){
var addComp = result.addressComponents;
var html = '
' +
''+
'' + place.title + '
' +
'' + place.point.lng + '' +
'' + place.point.lat + '' +
'' +
'';
$('#location').append(html);
$('#location').show();
}
});
})(i);
}
}
}
};
var local = new BMap.LocalSearch(map, options);
});
//初始化地图
function initmap() {
$("#map").css("height",$(window).height()-$(".mui-search").height()-$(".mui-bar-tab").height());
map.centerAndZoom(new BMap.Point(117.950, 28.463), 16);
var top_right_navigation = new BMap.NavigationControl({anchor: BMAP_ANCHOR_TOP_LEFT, type: BMAP_NAVIGATION_CONTROL_SMALL});
map.addControl(top_right_navigation);
map.enableScrollWheelZoom();
map.enableDragging();
wx.ready(function(){
index = layer.open({type: 3, shadeClose:false, content: '定位中...'});
wx.getLocation({
type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
$.ajax({
url:'http://api.map.baidu.com/geoconv/v1/?coords='+res.longitude+','+res.latitude+'&from=1&to=5&ak=3Q4laSROftZI4chFMPVUno90',
dataType:'jsonp',
processData: false,
type:'get',
success:function(data){
layer.close(index);
if (data.status=='0'){
var latitude=data.result[0].y;
var longitude=data.result[0].x;
mypoint = new BMap.Point(longitude,latitude);
addPoint();
}else{
layer.msg('坐标转换失败');
}
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
layer.close(index);
layer.msg('坐标转换失败');
}
});
}
});
});
}
function getAddress(baiduPointLat, baiduPointLng) {
$('#location').html('');
var url = 'http://api.map.baidu.com/geocoder/v2/?ak=3Q4laSROftZI4chFMPVUno90' +
'&callback=renderReverse' +
'&location=' + baiduPointLat + ',' + baiduPointLng +
'&output=json' +
'&pois=1';
$.ajax({
type: 'GET',
dataType: 'jsonp',
url: url,
beforeSend: function() {
//index = layer.open({type: 3, shadeClose:false, content: '加载中...'});
},
success: function(json) {
layer.close(index);
if (json == null || typeof (json) == 'undefined') {
return;
}
if (json.status != '0') {
return;
}
var result = json.result;
var province = result.addressComponent.province;
var city = result.addressComponent.city;
var district = result.addressComponent.district;
for (var i = 0; i < json.result.pois.length; i++) {
var poi = json.result.pois[i];
var html = '' +
''+
'' + poi.name + '
' +
'' + poi.addr + '
' +
'' + poi.point.x + '' +
'' + poi.point.y + '' +
'' + poi.zip + '' +
'';
$('#location').append(html);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
layer.close(index);
layer.open({content:'地址位置获取失败', time:3});
$('#refreshLocation').show();
}
});
}
function addPoint(){
map.clearOverlays();
map.panTo(mypoint);
var myIcon = new BMap.Icon(base+"/static/mobile/image/p.png", new BMap.Size(48,48));
var marker = new BMap.Marker(mypoint,{icon:myIcon});// 创建标注
marker.setTitle("位置");
map.addOverlay(marker);// 将标注添加到地图中
yiying();
}
function yiying(){
var min=0;
var minYiqing;
var km3=0;
var km5=0;
$.each(yiqing,function (i,item) {
var point = new BMap.Point(item.lng,item.lat);
var myIcon = new BMap.Icon(base+"/static/mobile/image/y.png", new BMap.Size(40,40));
var marker = new BMap.Marker(point,{icon:myIcon});// 创建标注
marker.setTitle("病历");
map.addOverlay(marker);// 将标注添加到地图中
var distance = parseInt(map.getDistance(mypoint,point));
if (distance<=3000){
km3++;
}
if (distance<=5000){
km5++;
}
if (i==0 ){
min = distance;
minYiqing=item;
}else{
if (distance