OpenLayers 学习(五) 根据经纬度用Marker在地图上添加标记

    <!DOCTYPE html>  
    <html>  
     <head>  
    <title>  
    根据经纬度在地图上添加标记  
    </title>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    <!-- 加载OpenLayers 类库 -->  
    <script type="text/javascript" src="http://www.openlayers.cn/olapi/OpenLayers.js">  
    </script>  
    <style>  
    html, body { width: 100%; height: 100%; margin: 0; padding: 0; }  
    </style>  
      
    <script type="text/javascript">  
	var basePath = '198.165.26.54';
	var jsonStr='{"MMSI":"432855000","Long":"116.412","Lat":"39.956"}';
	var shipInfo = eval('(' + (jsonStr == "" ? "[]" : jsonStr) + ')');

function init() {
    var option = { 
    controls: [new OpenLayers.Control.Navigation(), //导航
                new OpenLayers.Control.PanZoomBar(), //放大缩小
    			new OpenLayers.Control.Scale(),
    			new OpenLayers.Control.ScaleLine(),
    			new OpenLayers.Control.OverviewMap()], 
    numZoomLevels: 15 //,//最大级别
    }; 
  	map = new OpenLayers.Map('map', option); 
    layer = new OpenLayers.Layer.WMTS({ 		
		name: "中国底图(矢量)", //测试地址
	    url: "http://t0.tianditu.com/vec_c/wmts", //中国底图 
	    layer: "vec", 
	    style: "default", 
	    matrixSet: "c", 
	    format: "tiles", 
	    isBaseLayer: true 
	}); 
    
 
	//测试使用,正式环境去掉
    var tdt2 = new OpenLayers.Layer.WMTS({ 
        name: "中国底图注记", 
        url: "http://t0.tianditu.com/cva_c/wmts", //中国底图注记 
        layer: "cva", 
        style: "default", 
        matrixSet: "c", 
        format: "tiles", 
        isBaseLayer: false 
        });

		map.addLayers([layer,tdt2]); 
		addMarker();//添加标记
	
		map.setCenter(new OpenLayers.LonLat(116.5, 40).transform(
				new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()),7);//默认放大级别7
	//map.zoomToMaxExtent(); 
	//显示鼠标位置坐标
	map.addControl(new OpenLayers.Control.MousePosition({displayProjection:'EPSG:4326'}));
	
}

//添加标记
function addMarker(){
	var markers = new OpenLayers.Layer.Markers("分站");
	//设置显示坐标
	var x=0,y=0;
	//北京
	//图片显示
	var icon = new OpenLayers.Icon('marker-gold.png',{w: 21, h: 25}, {x: -10.5, y: -25});  
	var feature = new OpenLayers.Feature(markers,new OpenLayers.LonLat(shipInfo.Long,shipInfo.Lat).transform(
			new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()),{'icon': icon});
	marker = feature.createMarker();
	markers.addMarker(marker);
	map.addLayer(markers);
	

}
    </script>  
    </head>  
       
    <body onload="init()">  
    <div id="map" style="width: 100%;  
    height: 100%;">  
    </div>  
    </body>  
       
    </html>  

转载自:https://blog.csdn.net/Stonesk/article/details/51616730

You may also like...