Email: [email protected]
Fax: 86-21-20685430
Tel: 86-21-20684509
Address: 230 Haike Road,Building L, Shanghai, 201210 China
高德地图 – DIY我的地图
body { margin: 0; font: 13px/1.5 “Microsoft YaHei”, “Helvetica Neue”, “Sans-Serif”; min-height: 960px; min-width: 600px; }
.my-map { margin: 0 auto; width: 600px; height: 400px; }
.my-map .icon { background: url(http://lbs.amap.com/console/public/show/marker.png) no-repeat; }
.my-map .icon-cir { height: 31px; width: 28px; }
.my-map .icon-cir-red { background-position: -11px -5px; }
.amap-container{height: 100%;}
//webapi.amap.com/maps?v=1.3&key=æ¨ç³è¯·çkeyå¼
!function(){
var infoWindow, map, level = 18,
center = {lng: 121.59366, lat: 31.179825},
features = [{type: “Marker”, name: “ShanghaiTech University”, desc: “B516, Building L”, color: “red”, icon: “cir”, offset: {x: -9, y: -31}, lnglat: {lng: 121.593789, lat: 31.179825}}];
function loadFeatures(){
for(var feature, data, i = 0, len = features.length, j, jl, path; i < len; i++){
data = features[i];
switch(data.type){
case "Marker":
feature = new AMap.Marker({ map: map, position: new AMap.LngLat(data.lnglat.lng, data.lnglat.lat),
zIndex: 3, extData: data, offset: new AMap.Pixel(data.offset.x, data.offset.y), title: data.name,
content: '
‘ });
break;
case “Polyline”:
for(j = 0, jl = data.lnglat.length, path = []; j < jl; j++){
path.push(new AMap.LngLat(data.lnglat[j].lng, data.lnglat[j].lat));
}
feature = new AMap.Polyline({ map: map, path: path, extData: data, zIndex: 2,
strokeWeight: data.strokeWeight, strokeColor: data.strokeColor, strokeOpacity: data.strokeOpacity });
break;
case "Polygon":
for(j = 0, jl = data.lnglat.length, path = []; j < jl; j++){
path.push(new AMap.LngLat(data.lnglat[j].lng, data.lnglat[j].lat));
}
feature = new AMap.Polygon({ map: map, path: path, extData: data, zIndex: 1,
strokeWeight: data.strokeWeight, strokeColor: data.strokeColor, strokeOpacity: data.strokeOpacity,
fillColor: data.fillColor, fillOpacity: data.fillOpacity });
break;
default: feature = null;
}
if(feature){ AMap.event.addListener(feature, "click", mapFeatureClick); }
}
}
function mapFeatureClick(e){
if(!infoWindow){ infoWindow = new AMap.InfoWindow({autoMove: true}); }
var extData = e.target.getExtData();
infoWindow.setContent("
” + extData.name + “
” + extData.desc + “
“);
infoWindow.open(map, e.lnglat);
}
map = new AMap.Map(“mapContainer”, {center: new AMap.LngLat(center.lng, center.lat), level: level});
loadFeatures();
map.on(‘complete’, function(){
map.plugin([“AMap.ToolBar”, “AMap.OverView”, “AMap.Scale”], function(){
map.addControl(new AMap.ToolBar);
map.addControl(new AMap.OverView({isOpen: true}));
map.addControl(new AMap.Scale);
});
})
}();