0
点赞
收藏
分享

微信扫一扫

地图相关


第一种效果:可搜索,可以计算

代码:

Java代码

1.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 

2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

3.<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 

4.<head> 

5.<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 

6.<title>Google 地图 JavaScript API 示例: 控件定位</title> 

7.<script src="http://ditu.google.com/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=en" type="text/javascript"></script> 

8. 

9.<script type="text/javascript"> 

10. function initialize() { //地图初始化函数 

11. var map = new GMap2(document.getElementById("map_canvas"));//创建地图 

12. map.setCenter(new GLatLng(40.7142691,-74.0059729), 13); //区域 深度 

13. 

14. var point = new GLatLng(40.7142691, -74.0059729); //坐标 

15. map.addOverlay(new GMarker(point)); //增加标点 

16. map.openInfoWindow(map.getCenter(),document.createTextNode("Hello, world")); //增加提示框 

17. 

18. var topRight = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,10));//取得右上10*10的中心点 

19. var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));//取得右下10*10的中心点 

20. 

21. map.addControl(new GSmallMapControl(), topRight); //增加控件 左上角放大缩小工具 

22. 

23. ///var smallMapControl = new GOverviewMapControl(); //创建右下缩略图 

24. map.addControl(smallMapControl, topRight); //增加控件 

25. 

26. } 

27. 

28. function vok2(){ //获取经纬度函数 

29. var address=document.getElementById('t').value; 

30. if (address=="") return "请输入要查询的地址"; 

31. var map = new GMap2(document.getElementById("map_canvas"));//创建地图 

32. var geocoder = new GClientGeocoder(); 

33. geocoder.getLatLng( 

34. address, 

35. function(point) { 

36. if (!point) { 

37. alert(address + " 无地址!"); 

38. } else { 

39. map.setCenter(point, 14); 

40. var marker = new GMarker(point); 

41. document.getElementById('v').innerHTML=point; 

42. map.addOverlay(marker); 

43. marker.openInfoWindowHtml(address); 

44. } 

45. } 

46. ); 

47. } 

48. 

49. function calDis(){//调用函数 

50. var lat1 = document.getElementById( "X1").value * 1; 

51. var lng1 = document.getElementById( "Y1").value * 1; 

52. var lat2 = document.getElementById( "X2").value * 1; 

53. var lng2 = document.getElementById( "Y2").value * 1; 

54. var dis = GetDistance(lat1, lng1, lat2, lng2); 

55. document.getElementById("ss").innerHTML ="2点距离是: "+ dis+" km"; 

56. } 

57. 

58. function rad(d)//函数中间调用 

59. { 

60. return d * Math.PI / 180.0; 

61. } 

62. 

63. function GetDistance( lat1, lng1, lat2, lng2)//获取公里数 

64. { 

65. if( ( Math.abs( lat1 ) > 90 ) ||( Math.abs( lat2 ) > 90 ) ){ 

66. return false; 

67. } 

68. if( ( Math.abs( lng1 ) > 180 ) ||( Math.abs( lng2 ) > 180 ) ){ 

69. return false; 

70. } 

71. var radLat1 = rad(lat1); 

72. var radLat2 = rad(lat2); 

73. var a = radLat1 - radLat2; 

74. var b = rad(lng1) - rad(lng2); 

75. var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + 

76. Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2))); 

77. s = s *6378.137 ;// EARTH_RADIUS; 

78. s = Math.round(s * 10000) / 10000; 

79. return s; 

80. } 

81.</script> 

82. 

83. 

84.</head> 

85.<body οnlοad="initialize()" οnunlοad="GUnload()"> 

86. <div id="map_canvas" style="width: 500px; height: 300px"></div> 

87. <div> 

88. <input name="t" type="text" id="t"/> 

89. <span οnclick="vok2();" style="cursor:pointer">[查询]</span> 

90. <span id="v"></span> 

91. </div> 

92. <br /><br /> 

93. <div > 

94. A:<input type="text" id="X1"/>-<input type="text" id="Y1"/><br /> 

95. B:<input type="text" id="X2"/>-<input type="text" id="Y2"/> 

96. <span οnclick="calDis();" style="cursor:pointer">[计算]</span> 

97. <span id="ss"></span> 

98. </div> 

99. 

100.</body> 

101.</html> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 

<head> 

<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 

<title>Google 地图 JavaScript API 示例: 控件定位</title> 

<script src="http://ditu.google.com/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=en" type="text/javascript"></script> 


<script type="text/javascript"> 

 function initialize() { //地图初始化函数 

 var map = new GMap2(document.getElementById("map_canvas"));//创建地图 

 map.setCenter(new GLatLng(40.7142691,-74.0059729), 13); //区域 深度 


 var point = new GLatLng(40.7142691, -74.0059729); //坐标 

 map.addOverlay(new GMarker(point)); //增加标点 

 map.openInfoWindow(map.getCenter(),document.createTextNode("Hello, world")); //增加提示框 


 var topRight = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,10));//取得右上10*10的中心点 

 var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));//取得右下10*10的中心点 


 map.addControl(new GSmallMapControl(), topRight); //增加控件 左上角放大缩小工具 


 ///var smallMapControl = new GOverviewMapControl(); //创建右下缩略图 

 map.addControl(smallMapControl, topRight); //增加控件 


 } 


 function vok2(){ //获取经纬度函数 

 var address=document.getElementById('t').value; 

 if (address=="") return "请输入要查询的地址"; 

 var map = new GMap2(document.getElementById("map_canvas"));//创建地图 

 var geocoder = new GClientGeocoder(); 

 geocoder.getLatLng( 

 address, 

 function(point) { 

 if (!point) { 

 alert(address + " 无地址!"); 

 } else { 

 map.setCenter(point, 14); 

 var marker = new GMarker(point); 

 document.getElementById('v').innerHTML=point; 

 map.addOverlay(marker); 

 marker.openInfoWindowHtml(address); 

 } 

 } 

 ); 

 } 


 function calDis(){//调用函数 

 var lat1 = document.getElementById( "X1").value * 1; 

 var lng1 = document.getElementById( "Y1").value * 1; 

 var lat2 = document.getElementById( "X2").value * 1; 

 var lng2 = document.getElementById( "Y2").value * 1; 

 var dis = GetDistance(lat1, lng1, lat2, lng2); 

 document.getElementById("ss").innerHTML ="2点距离是: "+ dis+" km"; 

 } 


 function rad(d)//函数中间调用 

 { 

 return d * Math.PI / 180.0; 

 } 


 function GetDistance( lat1, lng1, lat2, lng2)//获取公里数 

 { 

 if( ( Math.abs( lat1 ) > 90 ) ||( Math.abs( lat2 ) > 90 ) ){ 

 return false; 

 } 

 if( ( Math.abs( lng1 ) > 180 ) ||( Math.abs( lng2 ) > 180 ) ){ 

 return false; 

 } 

 var radLat1 = rad(lat1); 

 var radLat2 = rad(lat2); 

 var a = radLat1 - radLat2; 

 var b = rad(lng1) - rad(lng2); 

 var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + 

 Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2))); 

 s = s *6378.137 ;// EARTH_RADIUS; 

 s = Math.round(s * 10000) / 10000; 

 return s; 

 } 

</script> 



</head> 

<body οnlοad="initialize()" οnunlοad="GUnload()"> 

 <div id="map_canvas" style="width: 500px; height: 300px"></div> 

 <div> 

 <input name="t" type="text" id="t"/> 

 <span οnclick="vok2();" style="cursor:pointer">[查询]</span> 

 <span id="v"></span> 

 </div> 

 <br /><br /> 

 <div > 

 A:<input type="text" id="X1"/>-<input type="text" id="Y1"/><br /> 

 B:<input type="text" id="X2"/>-<input type="text" id="Y2"/> 

 <span οnclick="calDis();" style="cursor:pointer">[计算]</span> 

 <span id="ss"></span> 

 </div> 


</body> 

</html>



第二种,单个标记



Java代码

1.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

2.<html xmlns="http://www.w3.org/1999/xhtml"> 

3.<head> 

4.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

5.<title>Google Maps API</title> 

6.<!-- Your own Google API key must be used this one will only work 

7. for this server and directory --> 

8.<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA69393o7mAW_7Z8yPE9mj1hT87Zy2LdSAMVK_IWP23IfaHiwArBSqoC1tfQ_nGVfHT7ZJ_ycmO7DjCQ" type="text/javascript"></script> 

9.<script type="text/javascript"> 

10.var address="14 Wall Street New York, NY 10010"; 

11.var zoom=15; 

12.window.onload = function initialize1() { 

13. if (GBrowserIsCompatible()) { 

14. map = new GMap2(document.getElementById("googlemap")); 

15. map.setCenter(new GLatLng(37.4419, -122.1419), zoom); 

16. map.addControl(new GSmallMapControl()); 

17. 

18. geocoder = new GClientGeocoder(); 

19. if (geocoder) { 

20. geocoder.getLatLng( 

21. address, 

22. function(point) { 

23. if (!point) { 

24. alert(address + " not found"); 

25. } else { 

26. map.setCenter(point, zoom); 

27. var marker = new GMarker(point); 

28. map.addOverlay(marker); 

29. GEvent.addListener(marker, "mouseover", function() { 

30. marker.openInfoWindowHtml("<div style='padding:0; margin:0 ; font-size:12px; height:10px; width:140px;'>" + address + "</div>"); 

31. } 

32. ); 

33. 

34. GEvent.addListener(marker, "mouseout", function() { 

35. marker.closeInfoWindow(); 

36. } 

37. ); 

38. } 

39. } 

40. ); 

41. } 

42. } 

43.} 

44. 

45.</script> 

46.</head> 

47.<body> 

48.<div id="googlemap" style="width:500px; height:300px;"></div> 

49.</body> 

50.</html> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

<title>Google Maps API</title> 

<!-- Your own Google API key must be used this one will only work 

 for this server and directory --> 

<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA69393o7mAW_7Z8yPE9mj1hT87Zy2LdSAMVK_IWP23IfaHiwArBSqoC1tfQ_nGVfHT7ZJ_ycmO7DjCQ" type="text/javascript"></script> 

<script type="text/javascript"> 

var address="14 Wall Street New York, NY 10010"; 

var zoom=15; 

window.onload = function initialize1() { 

 if (GBrowserIsCompatible()) { 

 map = new GMap2(document.getElementById("googlemap")); 

 map.setCenter(new GLatLng(37.4419, -122.1419), zoom); 

 map.addControl(new GSmallMapControl()); 


 geocoder = new GClientGeocoder(); 

 if (geocoder) { 

 geocoder.getLatLng( 

 address, 

 function(point) { 

 if (!point) { 

 alert(address + " not found"); 

 } else { 

 map.setCenter(point, zoom); 

 var marker = new GMarker(point); 

 map.addOverlay(marker); 

 GEvent.addListener(marker, "mouseover", function() { 

 marker.openInfoWindowHtml("<div style='padding:0; margin:0 ; font-size:12px; height:10px; width:140px;'>" + address + "</div>"); 

 } 

 ); 


 GEvent.addListener(marker, "mouseout", function() { 

 marker.closeInfoWindow(); 

 } 

 ); 

 } 

 } 

 ); 

 } 

 } 

} 


</script> 

</head> 

<body> 

<div id="googlemap" style="width:500px; height:300px;"></div> 

</body> 

</html>

1.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

2.<html xmlns="http://www.w3.org/1999/xhtml"> 

3.<head> 

4.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

5.<title>Google Maps API</title> 

6.<!-- Your own Google API key must be used this one will only work 

7. for this server and directory --> 

8.<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA69393o7mAW_7Z8yPE9mj1hT87Zy2LdSAMVK_IWP23IfaHiwArBSqoC1tfQ_nGVfHT7ZJ_ycmO7DjCQ" type="text/javascript"></script> 

9.<script type="text/javascript"> 

10.var address="14 Wall Street New York, NY 10010"; 

11.var zoom=15; 

12.window.onload = function initialize1() { 

13. if (GBrowserIsCompatible()) { 

14. map = new GMap2(document.getElementById("googlemap")); 

15. map.setCenter(new GLatLng(37.4419, -122.1419), zoom); 

16. map.addControl(new GSmallMapControl()); 

17. 

18. geocoder = new GClientGeocoder(); 

19. if (geocoder) { 

20. geocoder.getLatLng( 

21. address, 

22. function(point) { 

23. if (!point) { 

24. alert(address + " not found"); 

25. } else { 

26. map.setCenter(point, zoom); 

27. var marker = new GMarker(point); 

28. map.addOverlay(marker); 

29. GEvent.addListener(marker, "mouseover", function() { 

30. marker.openInfoWindowHtml("<div style='padding:0; margin:0 ; font-size:12px; height:10px; width:140px;'>" + address + "</div>"); 

31. } 

32. ); 

33. 

34. GEvent.addListener(marker, "mouseout", function() { 

35. marker.closeInfoWindow(); 

36. } 

37. ); 

38. } 

39. } 

40. ); 

41. } 

42. } 

43.} 

44. 

45.</script> 

46.</head> 

47.<body> 

48.<div id="googlemap" style="width:500px; height:300px;"></div> 

49.</body> 

50.</html> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

<title>Google Maps API</title> 

<!-- Your own Google API key must be used this one will only work 

 for this server and directory --> 

<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA69393o7mAW_7Z8yPE9mj1hT87Zy2LdSAMVK_IWP23IfaHiwArBSqoC1tfQ_nGVfHT7ZJ_ycmO7DjCQ" type="text/javascript"></script> 

<script type="text/javascript"> 

var address="14 Wall Street New York, NY 10010"; 

var zoom=15; 

window.onload = function initialize1() { 

 if (GBrowserIsCompatible()) { 

 map = new GMap2(document.getElementById("googlemap")); 

 map.setCenter(new GLatLng(37.4419, -122.1419), zoom); 

 map.addControl(new GSmallMapControl()); 


 geocoder = new GClientGeocoder(); 

 if (geocoder) { 

 geocoder.getLatLng( 

 address, 

 function(point) { 

 if (!point) { 

 alert(address + " not found"); 

 } else { 

 map.setCenter(point, zoom); 

 var marker = new GMarker(point); 

 map.addOverlay(marker); 

 GEvent.addListener(marker, "mouseover", function() { 

 marker.openInfoWindowHtml("<div style='padding:0; margin:0 ; font-size:12px; height:10px; width:140px;'>" + address + "</div>"); 

 } 

 ); 


 GEvent.addListener(marker, "mouseout", function() { 

 marker.closeInfoWindow(); 

 } 

 ); 

 } 

 } 

 ); 

 } 

 } 

} 


</script> 

</head> 

<body> 

<div id="googlemap" style="width:500px; height:300px;"></div> 

</body> 

</html>



使用方法:



首先你要保证注册一个google map 免费的 key
http://code.google.com/intl/zh-CN/apis/maps/signup.html (中文)
http://code.google.com/intl/en/apis/maps/signup.html (英文)



之后你可以把上面的代码封装,那个address就是接口了,输入有效地址就可以显示位置。





第三种JSPlacemaker - 使用纯JavaScript提取地理数据



内容提取仍然是一个热门话题。不久之前Yahoo推出了一个新的Web服务-Placemaker ,新推出的开放式 API,可以帮助开发者将他们的应用程序和数据集地理位置感知化。

但是这个API只允许传值,而且不允许有XML或RSS输出。这也是我为什么会创建JS-Placemaker 的原因,这样 javaScript便可以通过Placemaker服务。你需要做的就是为Placemaker获取应用程序的ID。

JS- Placemaker是专门为Yahoo Placemaker web服务准备的一个JavaScript wrapper,使用YQL 执行表,让您随时提取地理位置的信息。



http://icant.co.uk/jsplacemaker/





第四种中国电子地图



中国电子地图服务商MapABC发布地图API V1.0 ,该版本具有如下特征:

1,对社区用户完全免费。

任何人都能通过网络申请成为地图API用户。

2,对技术人员友好。

全面支持Javascript调用,丰富的用户手册和官方BBS技术讨论区 支持,提供全方位的技术支撑。中小网站站长和技术爱好者都能很快掌握API的使用方法。

3,强大的位置数据库支持。

4,对用户友好,展现层采用Flash 技术。

使电子地图更加流畅,动态效果更佳。

5,API除了提供地图操作外,还提供在线查询功能。

支持地理位置搜索、北京等大城市的实时交通查询。

6,支持地址匹配。





第五种 http://www.iteye.com/news/13813-web-geo





附录:



Google api http://code.google.com/apis/ajax/playground/








Html代码

1.<!-- 

2. copyright (c) 2009 Google inc. 

3. 

4. You are free to copy and use this sample. 

5. License can be found here: http://code.google.com/apis/ajaxsearch/faq/#license 

6.--> 

7. 

8.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

9.<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 

10. <head> 

11. <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 

12. <title>Google Maps API Sample</title> 

13. <style type="text/css"> 

14. @import url("http://www.google.com/uds/css/gsearch.css"); 

15. @import url("http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css"); 

16. </style> 

17. <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q" 

18. type="text/javascript"></script> 

19. <script src="http://www.google.com/uds/api?file=uds.js&v=1.0" type="text/javascript"></script> 

20. 

21. <script src="http://www.google.com/uds/solutions/localsearch/gmlocalsearch.js" type="text/javascript"></script> 

22. <script type="text/javascript"> 

23. 

24. function initialize() { 

25. if (GBrowserIsCompatible()) { 

26. 

27. // Create and Center a Map 

28. var map = new GMap2(document.getElementById("map_canvas")); 

29. map.setCenter(new GLatLng(37.4419, -122.1419), 13); 

30. map.addControl(new GLargeMapControl()); 

31. map.addControl(new GMapTypeControl()); 

32. 

33. // bind a search control to the map, suppress result list 

34. map.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,20))); 

35. } 

36. } 

37. GSearch.setOnLoadCallback(initialize); 

38. 

39. </script> 

40. </head> 

41. <body οnlοad="initialize()" οnunlοad="GUnload()" style="font-family: Arial;border: 0 none;"> 

42. <div id="map_canvas" style="width: 500px; height: 300px"></div> 

43. </body> 

44.</html> 

<!-- 

 copyright (c) 2009 Google inc. 


 You are free to copy and use this sample. 

 License can be found here: http://code.google.com/apis/ajaxsearch/faq/#license 

--> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 

 <head> 

 <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 

 <title>Google Maps API Sample</title> 

 <style type="text/css"> 

 @import url("http://www.google.com/uds/css/gsearch.css"); 

 @import url("http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css"); 

 </style> 

 <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q" 

 type="text/javascript"></script> 

 <script src="http://www.google.com/uds/api?file=uds.js&v=1.0" type="text/javascript"></script> 


 <script src="http://www.google.com/uds/solutions/localsearch/gmlocalsearch.js" type="text/javascript"></script> 

 <script type="text/javascript"> 


 function initialize() { 

 if (GBrowserIsCompatible()) { 


 // Create and Center a Map 

 var map = new GMap2(document.getElementById("map_canvas")); 

 map.setCenter(new GLatLng(37.4419, -122.1419), 13); 

 map.addControl(new GLargeMapControl()); 

 map.addControl(new GMapTypeControl()); 


 // bind a search control to the map, suppress result list 

 map.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,20))); 

 } 

 } 

 GSearch.setOnLoadCallback(initialize); 


 </script> 

 </head> 

 <body οnlοad="initialize()" οnunlοad="GUnload()" style="font-family: Arial;border: 0 none;"> 

 <div id="map_canvas" style="width: 500px; height: 300px"></div> 

 </body> 

</html>




第六种 数据库型 可随意添加!





举报

相关推荐

0 条评论