如今的地图API接口相当的丰富,只要花上半天的时间,就可以制作出与Google地图相差无几的地图页面,不得不说是Google打开了人们对于地图及GIS的认识,现在有很多的地图API可供使用,Bing地图、MapABC地图……当然其中不乏像谷歌百度这样免费的地图接口。
Google Map API V3版本开始不再使用那烦人的Key,百度地图API虽然是测试版,但也一样无需申请Key。看完如下的例子,你会发现他们有着非常相似的地方。
------------------------------------------------------------------------------------------------------------------------------------------------
File:Google.htm
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
function initialize() {
var myOptions = {
zoom: 15,
center: new google.maps.LatLng(28.673850794185323, 115.90456195259094),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map'), myOptions);
//绑定地图单击
if (map != null)
{
google.maps.event.addListener(map, 'click', function(e) {
document.getElementById("text").innerHTML = e.latLng;
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<style type="text/css">
.map { position: absolute; z-index: 2; background: #e1e1e1; top: 0px; left: 0px; right: 0px; bottom: 0px; }
</style>
</head>
<body>
<div class="map" id="map">
</div>
<div id="text" style="position: absolute; z-index: 10; border: solid 3px #e1e1e1; top: 20px; left: 350px; width: 300px; height: 30px; background: #e1e1e1;">
</div>
</body>
</html>
------------------------------------------------------------------------------------------------------------------------------------------------
File:BaiDu.htm
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
<script type="text/javascript">
var map;
function initialize() {
// 创建地图实例
map = new BMap.Map("map");
// 创建点坐标
var point = new BMap.Point(115.90456195259094, 28.673850794185323);
// 初始化地图,设置中心点坐标和地图级别
map.centerAndZoom(point, 15);
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
};
window.onload = function() { initialize(); };
</script>
<style type="text/css">
.map { position: absolute; z-index: 2; background: #e1e1e1; top: 0px; left: 0px; right: 0px; bottom: 0px; }
</style>
</head>
<body>
<div class="map" id="map">
</div>
</body>
</html>
------------------------------------------------------------------------------------------------------------------------------------------------
简简单单的数行相似的代码,体现了API开发团队的强悍,这也引发了一个问题,程序员们已经无法从这些API中获取更加底层更加细微的信息,大家开始不再关心细节,这使得广大的GISER们无心再去研究原理性的东西,这样发展的后果相当恐怖……
相比于成熟的国内外GIS系统,免费或开源GIS更加受到欢迎,这些古老的成熟的GIS系统会不会因此而没落呢……