- 浏览: 2265441 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
第一种效果:可搜索,可以计算
参考:
http://www.ditu123.com/main/google_map_api.html#The_Hello_World_of_Google_Maps
代码:
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 onload="initialize()" onunload="GUnload()">
86. <div id="map_canvas" style="width: 500px; height: 300px"></div>
87. <div>
88. <input name="t" type="text" id="t"/>
89. <span onclick="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 onclick="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 onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 300px"></div>
<div>
<input name="t" type="text" id="t"/>
<span onclick="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 onclick="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>
使用方法:
首先你要保证注册一个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 onload="initialize()" onunload="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 onload="initialize()" onunload="GUnload()" style="font-family: Arial;border: 0 none;">
<div id="map_canvas" style="width: 500px; height: 300px"></div>
</body>
</html>
第六种 数据库型 可随意添加!
参看: Creating an Interactive Travel Map using the Google Maps API
参考:
http://www.ditu123.com/main/google_map_api.html#The_Hello_World_of_Google_Maps
代码:
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 onload="initialize()" onunload="GUnload()">
86. <div id="map_canvas" style="width: 500px; height: 300px"></div>
87. <div>
88. <input name="t" type="text" id="t"/>
89. <span onclick="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 onclick="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 onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 300px"></div>
<div>
<input name="t" type="text" id="t"/>
<span onclick="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 onclick="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>
使用方法:
首先你要保证注册一个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 onload="initialize()" onunload="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 onload="initialize()" onunload="GUnload()" style="font-family: Arial;border: 0 none;">
<div id="map_canvas" style="width: 500px; height: 300px"></div>
</body>
</html>
第六种 数据库型 可随意添加!
参看: Creating an Interactive Travel Map using the Google Maps API
发表评论
-
treeTable
2015-03-25 00:36 777jqgrid中文官网:http://blog.mn886.ne ... -
web网页直接触发发邮件办法(Email)
2014-12-10 15:36 1417关键字:web网页直接触发发邮件办法(Email) < ... -
Highcharts漂亮大气的图表(纯JS)
2013-12-14 12:09 5984关键字:Highcharts漂亮大气的图表(纯JS) ... -
智能搜索提示功能
2013-11-23 20:12 1241关键字:智能搜索提示功能 推荐一:http://site518 ... -
Java MVC框架性能比较 jsp、struts1、struts2、springmvc3
2013-10-30 17:41 2291关键字:Java MVC框架性能比较 jsp、struts1 ... -
from表单新窗口打开并提交
2013-08-02 04:03 19008关键字:from表单新窗口打开并提交(参数通过post方式提交 ... -
支持选择和输入的select下拉列表
2013-07-17 17:33 8971关键字:支持选择和输入的select下拉列表 需求:有时下 ... -
文件上传框样式
2013-07-11 18:15 10502关键字:文件上传框样式 附件是已经实现的现成的文件框的 ... -
jquery操作iframe中的js函数
2013-01-06 10:39 13039关键字:jquery操作iframe中的js函数 1 ... -
网页QQ和阿里巴巴交流
2013-01-05 09:29 3164关键字:网页QQ交流 附件是 网页QQ和阿里巴巴交流 例子 ... -
我的心情 我做主
2012-12-31 11:13 14关键字:试试我的博客 哈哈 -
网页特效网址大全
2012-12-28 16:01 971关键字:网页特效网址大全 1、http://js.ali ... -
flush动物
2011-09-06 14:56 913flush动物 -
界面遮罩层例子
2011-09-01 21:27 4666关键字:界面遮罩层例子 一、自己写的遮罩层例子 附件遮罩 ... -
拍照功能实现(java、php、.net)
2011-08-04 22:17 1567关键字:拍照功能实现(java、php、.net) 但前提是 ... -
首页显示放大放小效果
2011-05-01 13:21 1026关键字:首页显示放大放小效果 说明:附件是相关例子,可直接下 ... -
页面菜单(左侧菜单)
2011-03-19 19:28 1153附件为:页面菜单一个完整的例子。 -
国家城市菜单(包括世界级和国家级的两种菜单)
2011-02-15 14:18 1570关键字:国家城市菜单(包括世界级和国家级的两种菜单) 包 ... -
网页模板样式
2011-02-14 13:24 1024附件是:网页模板样式,是一个工程,里面有关于JSP编程的很多模 ...
相关推荐
【百度地图相关内容汇总】 在移动应用开发中,百度地图是一个常用且强大的工具,尤其在Android平台上,它提供了丰富的API和SDK,使得开发者可以轻松集成地图功能。以下是对Android百度地图相关内容的详细说明: 1....
本项目以"百度地图相关功能"为主题,提供了一个小的示例(demo),旨在展示如何将百度地图API集成到应用程序中,实现获取当前位置、显示覆盖物以及导航等功能。下面我们将详细探讨这些关键知识点。 首先,**百度...
地图相关的地图相关的地图相关的
在本项目中,我们主要探讨的是“地图相关的demo”,它是一个基于高德地图API的3D地图示例。这个demo的目的是为了展示高德地图在3D环境下的各种功能,帮助开发者更好地理解和学习如何在实际应用中使用地图服务。下面...
"尤其对地图相关处理很有帮助"暗示这个源码可能包含了地图数据的加载、解析和优化策略。地图数据通常以矢量格式(如SVG或GeoJSON)或栅格格式(如TIF或JPEG)存在,C#可以通过各种库(如SharpMap或MapWinGIS)来处理...
本资源集合包含了13套在Github上备受开发者关注的地图相关源代码,这些代码库可以帮助我们深入理解地图API的使用,学习如何在iOS应用中集成地图功能,以及实现各种地图特效和定制化需求。 1. **地图框架的理解与...
【标题】:“百度地图相关资源”这一主题涵盖了与百度地图集成和开发相关的各种素材,包括SDK、API文档以及示例程序。这些资源是开发者在利用百度地图服务进行应用开发时的重要参考资料。 【描述】:描述中提到的...
M_Map不仅补充了MATLAB内置的地图功能,还提供了一系列高级特性,使得地图相关的软件开发变得更加高效和灵活。 M_Map的核心优势在于其丰富的地图数据集和多种地图投影方式。它包含了全球范围内的地理信息,如海岸线...
本教程将基于“高德地图 相关demo”进行深入解析,帮助开发者更好地理解和运用高德地图API。 一、高德地图SDK介绍 高德地图iOS SDK为开发者提供了强大的地图功能,包括但不限于地图显示、自定义图层、标注、覆盖物...
在IT行业中,数字地图是地理信息系统(GIS)的重要组成部分,广泛应用于导航、规划、环境分析等领域。本主题涉及的国家标准集中在数字地图的元数据、基本地理单元图规范、产品模式以及城市基础地理空间信息共享框架...
这个压缩包文件"android城市列表和百度地图相关"提供了一个完整的解决方案,让我们来深入探讨其中涉及的关键知识点。 首先,**城市列表**是应用程序的核心部分。它通常包含全国或特定区域的主要城市信息,如城市...
在本压缩包“小程序源码 地图相关 百度地图API源码.rar”中,包含的主要内容是针对小程序开发的、与地图功能相关的百度地图API源码。这个源码适用于那些希望在微信小程序或其他类似平台上集成地图功能的开发者。在...
本文将深入探讨“百度地图相关包”所包含的知识点,以及如何利用这些资源来实现在Android应用程序中显示地图和自动定位。 标题:“百度地图相关包”指的是一个专门用于集成百度地图服务的软件开发工具包(SDK),它...
本资料包含的"Android地图相关程序源码"是一个丰富的资源库,它涵盖了多个关键知识点,包括公交线路查询、GPS信息获取、GPS Test应用以及使用百度地图API进行定位和周边搜索,还有自行车导航的源代码。下面我们将...
该压缩包文件“小程序源码 地图相关 百度地图API-定位周边搜索POI源码.rar”包含了使用百度地图API开发的小程序源码,主要用于实现定位功能以及周边搜索POI(Point of Interest)的功能。这个源码适用于开发者想要在...
这个压缩包“Android应用源码-地图相关类安卓源代码(6例)”提供了一些示例代码,可以帮助开发者更好地理解和实现地图功能。以下是对这些知识点的详细解析: 1. **Google Maps API集成**: Google Maps API是...
【标题】"仿照立刻出行编写的地图相关Demo项目"是一个示例工程,旨在帮助开发者理解和学习如何在自己的应用程序中集成地图功能,类似即时出行应用中的地图展示与交互。这样的项目通常会涵盖地图的显示、定位、路线...
在本例中,“GDB GIS 地图相关 北京路网2019.zip”是一个包含了2019年北京市路网数据的压缩包,适合于地理空间数据的开发和应用。 这个压缩包可能包含以下几个方面的重要知识点: 1. **GDB数据结构**:GDB是一种...
MKMapKit是Apple提供的一套强大...综上所述,"MKMapKit系统地图相关demo"可能包含了如何在iOS应用中集成和使用这些功能的示例代码。通过学习和实践这些示例,开发者能够熟练掌握在Apple平台上构建地图应用的关键技术。
在C#和ArcEngine的集成开发环境中,实现“点击图层,打开与地图相关的记事本信息”是一项常见的GIS(地理信息系统)应用功能。这项功能主要用于增强用户与地图的交互性,使用户能够通过点击地图上的特定图层,查看、...