var aHospital, iHospital, oPosition={};
|
|
$(document).ready( onDocumentReady );
|
|
function onDocumentReady() {
|
pageInit(showHospital);
|
}
|
|
function showHospital() {
|
menuSwitch("hospital");
|
loadPosition(translatePosition);
|
}
|
|
function translatePosition() {
|
var pos=getPosition();
|
var point=new BMap.Point(pos.longitude, pos.latitude);
|
var convertor=new BMap.Convertor();
|
var aPoint=[point];
|
convertor.translate(aPoint, 1, 5, onTranslateResponse);
|
loadingMessage("正在转换地理位置信息……");
|
}
|
|
function onTranslateResponse(data) {
|
if (data.status===0) {
|
oPosition.longitude=data.points[0].lng;
|
oPosition.latitude=data.points[0].lat;
|
} else {
|
alertMessage("位置信息编码转换出错");
|
}
|
loadHospital();
|
}
|
|
function loadHospital() {
|
var req={};
|
req.longitude=oPosition.longitude;
|
req.latitude=oPosition.latitude;
|
jsonRequest("location", "load_hospital_distance", req, onHospitalResponse, "正在获取附近医院列表……请稍候");
|
}
|
|
function onHospitalResponse(res) {
|
var html="";
|
aHospital=res.hospital_list;
|
for (var i=0; i<aHospital.length; i++) {
|
var hp=res.hospital_list[i];
|
var checkin=hp.allow_checkin?div("div_hospital_checkin", "签到", "iHospital="+i+"; addCheckin()"):""
|
html+=div("div_hospital_item",
|
div("div_hospital_code", hp.code)+
|
div("div_hospital_phone", hp.phone)+
|
div("div_hospital_name", hp.name)+
|
div("div_hospital_address", hp.city+" "+hp.address)+
|
div("div_hospital_distance", hp.distance+" km")+
|
div("div_hospital_map", "地图", "iHospital="+i+"; showMap("+hp.longitude+","+hp.latitude+",'"+hp.name+"')")+
|
checkin
|
);
|
}
|
$("#div_hospital_group").html(html);
|
}
|
|
function showMap(x, y, name) {
|
pageGo("map");
|
window.map=new BMap.Map("map_container");
|
var point=new BMap.Point(x, y);
|
map.centerAndZoom(point, 16);
|
|
var option={type:BMAP_NAVIGATION_CONTROL_SMALL};
|
map.addControl(new BMap.NavigationControl(option));
|
|
var marker = new BMap.Marker(point);
|
map.addOverlay(marker);
|
var option2={};
|
option2.offset=new BMap.Size(-45,-30);
|
var label = new BMap.Label(name,option2);
|
var style={backgroundColor:"rgba(0,0,0,0.5)", color:"#FFFFFF", border:null, padding:"6px", borderRadius:"4px"};
|
label.setStyle(style);
|
marker.setLabel(label);
|
|
var here=new BMap.Point(oPosition.longitude, oPosition.latitude);
|
var marker2 = new BMap.Marker(here);
|
map.addOverlay(marker2);
|
var label2 = new BMap.Label("当前位置",{offset:new BMap.Size(-20,-30)});
|
label2.setStyle(style);
|
marker2.setLabel(label2);
|
}
|
|
function addCheckin() {
|
var req={};
|
req.hospital_uid=aHospital[iHospital].uid;
|
req.distance=aHospital[iHospital].distance;
|
req.longitude=oPosition.longitude;
|
req.latitude=oPosition.latitude;
|
jsonRequest("location", "add_hospital_checkin", req, showCheckin, "正在进行签到……请稍候");
|
}
|
|
function showCheckin() {
|
menuSwitch("checkin");
|
loadCheckin();
|
}
|
|
function loadCheckin() {
|
jsonRequest("location", "load_hospital_checkin", {}, onCheckinResponse, "正在获取签到记录……请稍候");
|
}
|
|
function onCheckinResponse(res) {
|
var html="";
|
for (var i=0; i<res.day_list.length; i++) {
|
var day=res.day_list[i];
|
var html2="";
|
for (var j=0; j<day.hospital_list.length; j++) {
|
var hospital=day.hospital_list[j];
|
html2+=div("div_checkin_item",
|
(j>0?div("div_checkin_up"):div("div_checkin_solid"))+
|
(j<day.hospital_list.length-1?div("div_checkin_down"):div("div_checkin_solid"))+
|
div("div_checkin_circle", "")+
|
div("div_checkin_time", hospital.time)+
|
div("div_checkin_name", hospital.name)+
|
(j>0?div("div_checkin_distance", "经 "+hospital.distance+" km 到"):""),
|
"showMap("+hospital.longitude+","+hospital.latitude+",'"+hospital.name+"')" );
|
}
|
html+=div("div_day_item",
|
div("div_day_header",
|
div("div_day_date", day.date)+
|
div("div_day_info", day.hospital_num+"家医院 总路程"+day.total_distance+"km"))+
|
html2);
|
}
|
$("#div_checkin_group").html(html);
|
}
|