Posted in Javascript onJanuary 05, 2015
这里仅仅是将谷歌地图API的使用方法告诉大家,算是抛砖引玉吧,由于某些原因,谷歌已经远离大家了。
<!DOCTYPE html> <html> <head> <title>GeoLocation</title> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <style> html, body, #map-canvas { margin: 0; padding: 0; height: 100%; } </style> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> <script> var map; var poly; function initialize() { var myLatlng = new google.maps.LatLng(31.1937077, 121.4158436); var locations = [ ['test1, accuracy: 150m', 31.1937077, 121.4158436, 100], ['test2, accuracy: 150m', 31.2937077, 121.4158436, 100], ['test3, accuracy: 150m', 31.0937077, 121.2158436, 100], ['test4, accuracy: 150m', 31.3937077, 120.4158436, 100], ['test5, accuracy: 150m', 31.1637077, 120.4858436, 100], ['test6, accuracy: 150m', 31.1037077, 121.5158436, 100] ]; var mapOptions = { zoom: 13, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); // 线条设置 var polyOptions = { strokeColor: '#00ff00', // 颜色 strokeOpacity: 1.0, // 透明度 strokeWeight: 4 // 宽度 } poly = new google.maps.Polyline(polyOptions); poly.setMap(map); // 装载 /* 循环标出所有坐标 */ /*for(var i=0; i<locations.length; i++){ var loc = []; loc.push(locations[i][1]); loc.push(locations[i][2]); var path = poly.getPath(); //获取线条的坐标 path.push(new google.maps.LatLng(loc[0], loc[1])); //为线条添加标记坐标 //生成标记图标 marker = new google.maps.Marker({ position: new google.maps.LatLng(loc[0], loc[1]), map: map // icon: "https://maps.gstatic.com/mapfiles/markers/marker_green.png" }); }*/ var marker, i, circle; var iwarray = []; var infoWindow; var latlngbounds = new google.maps.LatLngBounds(); var iconYellow = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/icons/yellow-dot.png"); for (i = 0; i < locations.length; i++) { var loc = []; loc.push(locations[i][1]); loc.push(locations[i][2]); var path = poly.getPath(); //获取线条的坐标 path.push(new google.maps.LatLng(loc[0], loc[1])); var latlng = new google.maps.LatLng(locations[i][1], locations[i][2]); latlngbounds.extend(latlng); if (locations[i][0].indexOf("[Cached") == 0 || (locations[i][0].indexOf("[Multiple") == 0 && locations[i][0].indexOf("[Cached") >= 0 )) { marker = new google.maps.Marker({ position: latlng, map: map, icon: iconYellow }); var iw = '<div style="font-size: 12px;word-wrap:break-word;word-break:break-all;"><strong><font color="#FF0000">' + locations[i][0] + '<font></strong><div>'; } else { marker = new google.maps.Marker({ position: latlng, map: map }); var iw = '<div style="font-size: 12px;word-wrap:break-word;word-break:break-all;"><strong><font color="#000000">' + locations[i][0] + '<font></strong><div>'; } iwarray[i] = iw; google.maps.event.addListener(marker, 'mouseover', (function(marker,i){ return function(){ infoWindow = new google.maps.InfoWindow({ content: iwarray[i], maxWidth: 200, pixelOffset: new google.maps.Size(0, 0) }); infoWindow.open(map, marker); } })(marker,i)); google.maps.event.addListener(marker, 'mouseout', function() { infoWindow.close(); }); circle = new google.maps.Circle({ map: map, radius: locations[i][3], fillColor: '#0000AA', fillOpacity: 0.01, strokeWeight: 1, strokeColor: '#0000CC', strokeOpacity: 0.8 }); circle.bindTo('center', marker, 'position'); } map.fitBounds(latlngbounds); var listener = google.maps.event.addListenerOnce(map, "idle", function() { var zoomLevel = parseInt(map.getZoom()); if (zoomLevel > 13) map.setZoom(13); }); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"></div> </body> </html>
在Google 地图上实现做的标记相连接
- Author -
hebedich声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@