上午研究了下一些網站都已經實作好的地區、公交、線路等等一些基于“地圖”的服務,這些服務都是基于諸如百度、谷歌地圖服務接口下的二次開發,百度地圖接口服務免費,而且開發文檔,API介紹詳細,是以本文暫先介紹如何調用百度地圖服務(API)
http://developer.baidu.com/service#dev 百度開發者中心,進去之後能夠看見baiduMap API的幫助文檔,文檔不錯,比較詳細,一般參閱此文檔基本上能應付一般的需求了,
程式設計步驟也較為簡單:
js代碼:
[javascript] view plain copy
- <span style="font-size:18px;">var map;
- function initMap(){
- map = new BMap.Map("mapBox"); // 建立地圖執行個體
- var point = new BMap.Point(116.404,39.915); // 建立點坐标
- map.centerAndZoom(point,15); // 初始化地圖,設定中心點坐标和地圖級别
- }
- function search(){
- var areaName = $("area").value;
- if(areaName=="")return;
- if(map==null){
- init();
- }
- var local = new BMap.LocalSearch(map,{
- renderOptions:{map:map}
- });
- local.search(areaName);
- }
- function $(id){
- return document.getElementById(id);
- }</span>
html代碼:
[html] view plain copy
- <span style="font-size:16px;"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>地圖搜尋</title>
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
- <script type="text/javascript" src="js/map.js"></script>
- </head>
- <body onload="initMap();">
- <div id="operator">
- <form action="#">
- 位置:<input type="text" name="area" id="area" style=""/>
- <br/>
- <input type="button" onclick="search();" id="searchBtn" value="搜尋此位置">
- </form>
- </div>
- <div id="mapBox" style="width:500px;height:500px;background-color:navy;position:absolute;left:240px;top:10px;"></div>
- </body>
- </html></span>
解釋:
1、頁面中引入百度js API
[html] view plain copy
- <span style="font-size:18px;"><script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script></span>
2、要為地圖顯示指定容器,一般為div
[html] view plain copy
- <span style="font-size:18px;"><div id="mapBox" style="width:500px;height:500px;background-color:navy;position:absolute;left:240px;top:10px;"></div></span>
3、在js代碼中建立地圖對象(指定容器)
[javascript] view plain copy
- <span style="font-size:18px;">map = new BMap.Map("mapBox");
- var point = new BMap.Point(116.404,39.915);
- map.centerAndZoom(point,15); //初始化
- </span>
4、其他功能,諸如搜尋地名,公交路線等等,請參考幫助文檔,還是比較詳細的