google地圖應用jQuery插件 - gmap
gmap(google地圖應用插件)
【下載地址】--------》Download
【應用范圍】
google地圖的簡單應用,地點表示,圖片顯示,pup顯示等等;
【使用體驗】
首先,我們根據作者的提示去Google申請一個能在本地應用的Google Map API_KEY ;
這里我獲得一個:ABQIAAAAA1zNj5aQpvD_5p8Q9TNxURTSyb_tENZAChKUjboCtCgZQvfgWRTdBQP5_QCFAYTAHQLy28lzLj_jTA
拿到這個以后,啥也不說了,添加JS庫啊:
<script src="http://maps.google.com/maps?file=api&v=2&sensor=true_or_false&key=ABQIAAAAA1zNj5aQpvD_5p8Q9TNxURTSyb_tENZAChKUjboCtCgZQvfgWRTdBQP5_QCFAYTAHQLy28lzLj_jTA" type="text/javascript"></script>//添加的Google Map的通信協議 <script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript" src="jquery-gmap.1.1.0.js"></script>
向以往的Plugin一樣,gMap的操作方式沒啥區別,定義一個DIV作為地圖的canvas,然后使用jQuery的選擇器進行初始化。
下面就是最簡單的調用gMap的方式:
<body><div id="map" style="height:300px;width:600px;"></div> //不要忘記給我們的Canvas設置大小和樣式 <script type="text/javascript"> $(function() { $("#map").gMap(); }); </script></body>
這是最簡單的調用方法,下面我們就看看Customizing:
gMap的設置都是JSON數據格式的,而且通過調用gMap()方法設置。看看都有哪些參數供我們使用:
address: string default: 空 地圖中心,地圖以此地點居中顯示;
latitude: float default: 0 緯度
longitude: float default: 0 經度
zoom: integer default: 1 縮放程度,1-19
markers: array default: [] 地圖標記 包含項:address,latitude,longitude,html(顯示的文本內容),popup(是否彈出顯示),icon(顯示圖標,JSON數據)
controls: array default: [] 對google地圖的一系列操作,每項都是調用函數的名稱(不包含"()");
scrollwheel:boolean default: true 是否準許鼠標滑輪進行地圖的縮放;
maptype:variable default: G_NORMAL_MAP 地圖顯示類型,可以參考GoogleMapApi ;
html_prepend: string default: <div class=”gmap_ marker”> 顯示標記時的預定義,可以用CSS來控制標記顯示的樣式;
html_append:string default: </div> 顯示標記的結尾標志,應該和html_prepend對應;
icon:JSON 自定義標記圖標格式
- image: string
- Default: http://www.google.com/mapfiles/marker.png
- ICON的URL
shadow: string
- Default: http://www.google.com/mapfiles/shadow50.png
- ICON陰影的URL
- iconsize: array
- Default: [20, 34]
- ICON的大小
- shadowsize: array
- Default: [37, 34]
- 陰影的大小
- iconanchor: array
- Default: [9, 34]
- ICON圖片的相對位置,相當于css中position
- infowindowanchor: array
- Default: [9, 2]
- 消息窗口到圖片的相對位置
好,gmap的所有option我們都知道了,那么下面就通過一些例子了解下這些option該怎么用:
例子一:我們做一個以上海為中心,放大10倍的圖:
1: <script type="text/javascript">
2: $(function() {
3: $("#map").gMap({address:'上海',zoom:10});
4: });
5: </script>
例子二:我們也可以把地址換成坐標值:
1: <script type="text/javascript">
2: $(function() {
3: $("#map").gMap({latitude:32,longitude:34,zoom:10});
4: });
5: </script>
例子三:我們來使用一下marker
1: <script type="text/javascript">
2: $(function() {
3: $("#map").gMap({address:'上海',zoom:10,markers:[{address:'上海',html:'Hello,上海',popup:true}]});
4: });
5: </script>
例子四:我們看一個比較復雜的marker的應用,可以設置html為:_address/_latlng顯示位置或者坐標
1: <script type="text/javascript">
2: $(function() {
3: $("#map").gMap({ markers: [{ latitude: 47.651968,
4: longitude: 9.478485,
5: html: "_latlng" },
6: { address: "Tettnang, Germany",
7: html: "The place I live" },
8: { address: "Langenargen, Germany",
9: html: "_address" }],
10: address: "Braitenrain, Germany",
11: zoom: 10 });
12: });
13: </script>
例子五:我們可以通過改變maptype的屬性更改地圖顯示方式:
在GoogleMapApi中我們可以查到maptype的這幾種value:
G_NORMAL_MAP
displays the default road map view.G_SATELLITE_MAP
displays Google Earth satellite images. *G_HYBRID_MAP
displays a mixture of normal and satellite views.*G_DEFAULT_MAP_TYPES
contains an array of the above three types, useful for iterative processing.G_PHYSICAL_MAP
displays a physical map based on terrain information.
我們就使用G_SATELLITE_MAP看一下衛星地圖
1: <script type="text/javascript">
2: $(function() {
3: $("#map").gMap({address:'上海',zoom:10,markers:[{address:'上海',html:'Hello,上海',popup:true}],maptype:G_SATELLITE_MAP});
4: });
5: </script>
例子六:在看看我們如何將顯示的消息變成了一個鏈接
1: <script type="text/javascript">
2: $(function() {
3: $("#map").gMap({address:'上海',zoom:10,markers:[{address:'上海',html:'Hello,上海',popup:true}],maptype:G_SATELLITE_MAP,html_prepend:'<div class="gmap_marker"><a href="www.google.com.hk">',html_append:'</a></div>'});
4: });
5: </script>
當然,你也可以通過設置.gmap_marker{}來改變消息框的樣式;
例子七:icon可以在全局中定義,也可以在單個的marker中單獨定義,下面是抄自官方的一個Demo的代碼:
1: $("#map4").gMap({ controls: false,
2: scrollwheel: false,
3: markers: [{ latitude: 47.670553,
4: longitude: 9.588479,
5: icon: { image: "images/gmap_pin_orange.png",
6: iconsize: [26, 46],
7: iconanchor: [12,46],
8: infowindowanchor: [12, 0] } },
9: { latitude: 47.65197522925437,
10: longitude: 9.47845458984375 },
11: { latitude: 47.594996,
12: longitude: 9.600708,
13: icon: { image: "images/gmap_pin_grey.png",
14: iconsize: [26, 46],
15: iconanchor: [12,46],
16: infowindowanchor: [12, 0] } }],
17: icon: { image: "images/gmap_pin.png",
18: iconsize: [26, 46],
19: iconanchor: [12, 46],
20: infowindowanchor: [12, 0] },
21: latitude: 47.58969,
22: longitude: 9.473413,
23: zoom: 10 });
【體驗感受】
very nice!前面也做過一些Google地圖方面的開發,怎么就能找到這個Plugin呢,白白浪費了很多力氣,但是就總體的功能來說,這個Plugin還有些偏弱,只能標記地理位置,功能比較單一,對于一般的項目來說還是不錯的。