卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明 ,Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明 ,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

下面會(huì)講到如何給地圖實(shí)例添加和操作標(biāo)注.

瀏覽器兼容性

Google Maps并不是對(duì)每一個(gè)瀏覽器都兼容的, Google Maps 現(xiàn)在兼容Firefox/Mozilla, IE 5.5 , Safari

1.2 和Opera ,不支持IE 5.0.因?yàn)槊總€(gè)不兼容的瀏覽器的動(dòng)作又是不同的, 所以Maps API提供了一個(gè)全局的方法(GBrowserIsCompatible()) 來(lái)檢查瀏覽器兼容性, 但是并不自動(dòng)檢查. 引入的腳

本http://maps.google.com/maps?file=api&v=1可以在幾乎所有的瀏覽器中被正常解析, 所以你可以放心的在檢查瀏覽器兼容性之前引入該腳本.

在本文的所有例子之中,除了上面的一篇之外,其他的既沒(méi)有用GBrowserIsCompatible()檢查瀏覽器兼容性,也沒(méi)有給出任何錯(cuò)誤信息 正式使用的程序上應(yīng)該有更加友好的處理方法,這里為了讓這些例子更加易懂,而忽略了瀏覽器檢查. XHTML 和VML

建議你在需要使用地圖的網(wǎng)頁(yè)上使用標(biāo)準(zhǔn)的兼容性好的XHTML, 當(dāng)頁(yè)面頂端存在DOCTYPE 標(biāo)簽時(shí),瀏覽器會(huì)使用" 標(biāo)準(zhǔn)兼容模式" 來(lái)處理頁(yè)面, 這將使頁(yè)面能更好的跨越瀏覽器執(zhí)行.

同樣,如果你需要在地圖上包含折線,你需要為IE 瀏覽器在頁(yè)面上引入VML 命名空間 這樣,你的文檔開(kāi)頭就應(yīng)該是這樣的:

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

關(guān)于VML ,你可以在Microsoft's VML workshop查找更多信息.

API 更新

引入的JavaScript 文件URL http://maps.google.com/maps?file=api&v=1指向到 API 的" 版本1" , 如果API 出現(xiàn)了重要的升級(jí),會(huì)增加這個(gè)版本號(hào)并且在Google Code和Maps API討論組上面發(fā)布公告.

Google 會(huì)同時(shí)運(yùn)行新版和舊版一個(gè)月左右,隨后舊版就會(huì)被關(guān)閉.

地圖工作小組會(huì)在修復(fù)BUG 或改善性能之后隨時(shí)更新API ,這些更新僅僅是為了改善性能和修復(fù)錯(cuò)誤,不過(guò)在這個(gè)工程之中也可能發(fā)生影響API 連接的情況 如果這樣的事情發(fā)生,你可以到Maps API discussion group報(bào)告你遇到的情況地理、行程和其他

Google Maps API現(xiàn)在并不包含地理和 行程服務(wù), 可在網(wǎng)上有許多關(guān)于free geocoders的相關(guān)內(nèi)容.

應(yīng)用范例

一個(gè)簡(jiǎn)單例子

創(chuàng)建一個(gè)在所在層中居中的地圖

var map = new GMap(document.getElementById("map"));

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

查看范例(simple.html)

地圖的移動(dòng)和變換

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

recenterOrPanToLatLng 方法進(jìn)行一個(gè)地圖變換,目標(biāo)點(diǎn)經(jīng)/緯在當(dāng)前視口之中時(shí)執(zhí)行一個(gè)連續(xù)的動(dòng)作,否則,執(zhí)行不連續(xù)的變換動(dòng)作

var map = new GMap(document.getElementById("map"));

map.centerAndZoom(new GPoint(-122.1419, 37.4419), 4);

window.setTimeout(function() {

map.recenterOrPanToLatLng(new GPoint(-122.1569, 37.4569));

}, 2000);

查看范例(animate.html)

在地圖上添加控件

addControl 方法可以在地圖上添加控件,并且集成了GSmallMapControl (用來(lái)縮放和移動(dòng)圖片) 和GMapTypeControl (用來(lái)在地圖和衛(wèi)星圖模式間切換) 兩個(gè)控件.

var map = new GMap(document.getElementById("map"));

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

查看范例(controls.html)

事件監(jiān)視

GEvent.addListener 用來(lái)注冊(cè)事件監(jiān)視器,在這個(gè)例子中,在用戶(hù)移動(dòng)或拖拽地圖后,輸出地圖中心點(diǎn)的經(jīng)/緯. var map = new GMap(document.getElementById("map"));

GEvent.addListener(map, "moveend", function() {

var center = map.getCenterLatLng();

var latLngStr = '(' center.y ', ' center.x ')';

document.getElementById("message").innerHTML = latLngStr;

});

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

查看范例(event.html)

顯示信息浮窗

這個(gè)范例顯示一個(gè)指向地圖中心點(diǎn)的"Hello world"信息浮窗,這里信息浮窗顯示在指向點(diǎn)的上面,而實(shí)際上,信息窗能在地圖的任何地方顯示.

var map = new GMap(document.getElementById("map"));

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

map.openInfoWindow(map.getCenterLatLng(),

document.createTextNode("Hello world"));

查看范例(infowindow.html)

地圖標(biāo)注

本范例通過(guò)創(chuàng)建10個(gè)隨機(jī)的標(biāo)注和折線來(lái)說(shuō)明地圖標(biāo)注的用法.

// Center the map on Palo Alto

var map = new GMap(document.getElementById("map"));

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

// Add 10 random markers in the map viewport using the default icon

var bounds = map.getBoundsLatLng();

var width = bounds.maxX - bounds.minX;

var height = bounds.maxY - bounds.minY;

for (var i = 0; i < 10; i ) {

var point = new GPoint(bounds.minX width * Math.random(),

bounds.minY height * Math.random());

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

var marker = new GMarker(point);

map.addOverlay(marker);

}

// Add a polyline with 4 random points. Sort the points by longitude so that// the line does not intersect itself.

var points = [];

for (var i = 0; i < 5; i ) {

points.push(new GPoint(bounds.minX width * Math.random(),

bounds.minY height * Math.random()));

}

points.sort(function(p1, p2) { return p1.x - p2.x; });

map.addOverlay(new GPolyline(points));

查看范例(overlay.html)

響應(yīng)用戶(hù)點(diǎn)擊

本范例在用戶(hù)點(diǎn)擊地圖時(shí),在相應(yīng)的點(diǎn)創(chuàng)建一個(gè)標(biāo)記,用戶(hù)點(diǎn)擊標(biāo)記時(shí),移除這個(gè)標(biāo)記. var map = new GMap(document.getElementById("map"));

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

GEvent.addListener(map, 'click', function(overlay, point) {

if (overlay) {

map.removeOverlay(overlay);

} else if (point) {

map.addOverlay(new GMarker(point));

}

});

查看范例(click.html)

在標(biāo)記上顯示信息浮窗

在這個(gè)例子中,點(diǎn)擊每一個(gè)標(biāo)記,就會(huì)在標(biāo)記上面顯示一個(gè)自定義的信息浮窗.

// Center the map on Palo Alto

var map = new GMap(document.getElementById("map"));

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

// Creates a marker whose info window displays the given number

function createMarker(point, number) {

var marker = new GMarker(point);

// Show this marker's index in the info window when it is clicked

var html = "Marker #" number "";

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

marker.openInfoWindowHtml(html);

});

return marker;

}

// Add 10 random markers in the map viewport

var bounds = map.getBoundsLatLng();

var width = bounds.maxX - bounds.minX;

var height = bounds.maxY - bounds.minY;

for (var i = 0; i < 10; i ) {

var point = new GPoint(bounds.minX width * Math.random(),

bounds.minY height * Math.random());

var marker = createMarker(point, i 1);

map.addOverlay(marker);

}

查看范例(markerinfowindow.html)

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

創(chuàng)建圖標(biāo)

創(chuàng)建一種新圖標(biāo), 就像在Google Ride Finder上面使用的迷你標(biāo)記一樣. 必須給圖標(biāo)指定前景圖片、陰影圖片、圖標(biāo)在地圖上的點(diǎn)和信息浮窗在圖標(biāo)上的點(diǎn).

// Create our "tiny" marker icon

var icon = new GIcon();

icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";

icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";

icon.iconSize = new GSize(12, 20);

icon.shadowSize = new GSize(22, 20);

icon.iconAnchor = new GPoint(6, 20);

icon.infoWindowAnchor = new GPoint(5, 1);

// Center the map on Palo Alto

var map = new GMap(document.getElementById("map"));

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

// Creates one of our tiny markers at the given point

function createMarker(point) {

var marker = new GMarker(point, icon);

map.addOverlay(marker);

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

marker.openInfoWindowHtml("You clicked me!");

});

}

// Place the icons randomly in the map viewport

var bounds = map.getBoundsLatLng();

var width = bounds.maxX - bounds.minX;

var height = bounds.maxY - bounds.minY;

for (var i = 0; i < 10; i ) {

createMarker(new GPoint(bounds.minX width * Math.random(),

bounds.minY height * Math.random()));

}

查看范例(icon.html)

使用圖標(biāo)類(lèi)

多數(shù)情況下,使用的圖標(biāo)可能前景圖片不同,可是形狀和陰影是一樣的,達(dá)到這種效果最簡(jiǎn)單的方法是使用GIcon 類(lèi)的copy 方法來(lái)構(gòu)造. 這樣可以將一個(gè)Icon 對(duì)象的所有屬性復(fù)制到一個(gè)新的Icon 對(duì)象中.

// Create a base icon for all of our markers that specifies the shadow, icon

// dimensions, etc.

var baseIcon = new GIcon();

baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";

baseIcon.iconSize = new GSize(20, 34);

baseIcon.shadowSize = new GSize(37, 34);

baseIcon.iconAnchor = new GPoint(9, 34);

baseIcon.infoWindowAnchor = new GPoint(9, 2);

baseIcon.infoShadowAnchor = new GPoint(18, 25);

// Center the map on Palo Alto

var map = new GMap(document.getElementById("map"));

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

// Creates a marker whose info window displays the letter corresponding to

// the given index

function createMarker(point, index) {

// Create a lettered icon for this point using our icon class from above

var letter = String.fromCharCode("A".charCodeAt(0) index);

var icon = new GIcon(baseIcon);

icon.image = "http://www.google.com/mapfiles/marker" letter ".png";

var marker = new GMarker(point, icon);

// Show this marker's index in the info window when it is clicked

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

var html = "Marker " letter "";

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

marker.openInfoWindowHtml(html);

});

return marker;

}

// Add 10 random markers in the map viewport

var bounds = map.getBoundsLatLng();

var width = bounds.maxX - bounds.minX;

var height = bounds.maxY - bounds.minY;

for (var i = 0; i < 10; i ) {

var point = new GPoint(bounds.minX width * Math.random(),

bounds.minY height * Math.random());

var marker = createMarker(point, i);

map.addOverlay(marker);

}

查看范例(iconclass.html)

在地圖上使用XML 和異步RPC ("AJAX")

在這個(gè)范例中,我們下載一個(gè)靜態(tài)文件("data.xml"),這個(gè)XML 文件中包含一系列經(jīng)/緯坐標(biāo),當(dāng)下載完成后,讀取這個(gè)XML 文件并為每一個(gè)坐標(biāo)在地圖上創(chuàng)建一個(gè)標(biāo)記.

// Center the map on Palo Alto

var map = new GMap(document.getElementById("map"));

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);

// Download the data in data.xml and load it on the map. The format we

// expect is:

//

//

//

//

var request = GXmlHttp.create();

request.open("GET", "data.xml", true);

request.onreadystatechange = function() {

if (request.readyState == 4) {

var xmlDoc = request.responseXML;

var markers = xmlDoc.documentElement.getElementsByTagName("marker");

for (var i = 0; i < markers.length; i ) {

var point = new GPoint(parseFloat(markers[i].getAttribute("lng")),

parseFloat(markers[i].getAttribute("lat")));

var marker = new GMarker(point);

map.addOverlay(marker);

}

}

}

request.send(null);

查看范例(async.html)

API 概要

GMap 類(lèi)

GMap 的每一個(gè)實(shí)例表現(xiàn)為頁(yè)面上的一個(gè)地圖,可以創(chuàng)建這個(gè)類(lèi)的多個(gè)實(shí)例 每個(gè)地圖被包含在一個(gè)container 之中,比如一個(gè)DIV 標(biāo)簽,除非明確指定,地圖將使用相應(yīng)container 的大小.

GMap 類(lèi)提供了操作地圖點(diǎn)(中心和縮放度) 和添加刪除標(biāo)記(比如GMarker 和GPolyline 實(shí)例) 和方法. 同時(shí)也提供了一個(gè)打開(kāi)" 信息浮窗" 的方法,地圖上同時(shí)只能有一個(gè)信息浮窗.

更多信息請(qǐng)參看GMap 類(lèi)參考

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

事件

利用事件監(jiān)視器,你可以在程序中加入動(dòng)態(tài)的內(nèi)容,每個(gè)實(shí)例提供一些指定的事件,你的程序可以利用靜態(tài)方

法GEvent.addListener 或GEvent.bind 監(jiān)視這些事件. 例如,以下代碼片斷在每次用戶(hù)點(diǎn)擊地圖的時(shí)候顯示一個(gè)警告:var map = new GMap(document.getElementById("map"));

GEvent.addListener(map, "click", function() {

alert("You clicked the map");

});

GEvent.addListener 使用一個(gè)函數(shù)作為第三個(gè)參數(shù),這個(gè)函數(shù)作為事件處理器,在事件被觸發(fā)時(shí)運(yùn)行. 如果想綁定一個(gè)對(duì)象的方法到事件,可以使用GEvent.bind . 例如:

function MyApplication() {

this.counter = 0;

this.map = new GMap(document.getElementById("map"));

GEvent.bind(this.map, "click", this, this.onMapClick);

}

MyApplication.prototype.onMapClick() {

this.counter ;

alert("You have clicked the map " this.counter

this.counter == 1 ?" time.":" times.");

}

var application = new MyApplication();

信息浮窗

Map 類(lèi)有一個(gè)信息浮窗,可以在地圖上以浮動(dòng)窗口模式在地圖上顯示HTML 內(nèi)容.

基本的浮動(dòng)窗口方法是openInfoWindow ,這個(gè)方法以一個(gè)點(diǎn)和一個(gè)HTML 節(jié)點(diǎn)作為參數(shù),這個(gè)HTML 節(jié)點(diǎn)被添加到信息浮窗容器里面,并顯示在相應(yīng)點(diǎn)處.

openInfoWindowHtml 差不多,但是它使用HTML 字符串作為參數(shù). openInfoWindowXslt 則利用XML 節(jié)點(diǎn)和XSLT 文檔的URL 地址來(lái)生成信息浮窗內(nèi)容,如果該XSLT 文檔還沒(méi)有被下載,則會(huì)自動(dòng)異步下載此文件.

如果需要在標(biāo)記上顯示信息浮窗,你可以傳遞第三個(gè)參數(shù)(可選) 給出窗口頂端和給定點(diǎn)位置的像素差. 比如你的標(biāo)記高度是10px, 你可以使用GSize(0,-10)作第三個(gè)參數(shù).

GMarker 類(lèi)還提供了openInfoWindow 方法用來(lái)處理像素值內(nèi)容,所以不用擔(dān)心在程序中計(jì)算像素的問(wèn)題.

標(biāo)注

標(biāo)注是一些綁定到地理坐標(biāo)的對(duì)象,當(dāng)移動(dòng)、縮放地圖或切換模式(比如從地圖到衛(wèi)星圖) 時(shí),標(biāo)注也會(huì)跟著變化. Maps API提供兩種標(biāo)注:標(biāo)記(地圖上的圖標(biāo)) 和折線(根據(jù)地理位置繪制的折線)

圖標(biāo)和標(biāo)記

The GMarker 構(gòu)造函數(shù)使用一個(gè)圖標(biāo)和一個(gè)點(diǎn)作為參數(shù),并提供一些類(lèi)似" 點(diǎn)擊" 的事件,看這個(gè)創(chuàng)建標(biāo)記的例子創(chuàng)建標(biāo)記最困難的地方是指定圖標(biāo),復(fù)雜在于一個(gè)圖標(biāo)需要幾個(gè)不同的圖片構(gòu)成.

每一個(gè)圖標(biāo)至少都有一個(gè)前景圖片和一個(gè)陰影圖片,陰影必須是前景圖的45度視角的形狀,并且左下角和前景圖的左下角重疊,還必須是24-bit PNG灰度圖片,才能剛好使圖標(biāo)看起來(lái)像站在地圖上一樣.

The GIcon 需要指定圖標(biāo)使用的圖片文件的大小以便以合適的大小顯示這些圖片,一下是指定一個(gè)圖標(biāo)的最基本的代碼:var icon = new GIcon();

icon.image = "http://www.google.com/mapfiles/marker.png";

icon.shadow = "http://www.google.com/mapfiles/shadow50.png";

icon.iconSize = new GSize(20, 34);

icon.shadowSize = new GSize(37, 34);

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明

The GIcon 類(lèi)提供有超過(guò)7個(gè)的屬性必須設(shè)置以保證圖標(biāo)在瀏覽器上的兼容性和功能. 比如imageMap 屬性指定圖標(biāo)不透明部分的形狀,如果你沒(méi)有設(shè)置這個(gè)屬性,在Firefox/Mozilla瀏覽器上,整個(gè)圖標(biāo)(包括透明部分) 都能被點(diǎn)擊. 看這個(gè)GIcon 類(lèi)參考了解更多信息

折線

GPolyline 構(gòu)造函數(shù)使用一組地理點(diǎn)最為參數(shù),你也能指定顏色、線寬和透明度 顏色采用老的HTML 樣式,比

如"#ff0000". GPolyline 不支持直接使用顏色名字. 例如以下代碼會(huì)創(chuàng)建一個(gè)10像素寬的紅色線段:

var polyline = new GPolyline([new GPoint(-122.1419, 37.4419),

,

Google Map Api文檔,免費(fèi)Google地圖API使用說(shuō)明GMap(container,mapTypes?, width?,height?) 型([G_MAP_TYPE, G_SATELLITE_TYPE]) Creates a new map inside 同樣的,如果沒(méi)有嚴(yán)格指

定大小,則會(huì)使用HTML 容器的大小.

方法

Configuration

方法

enableDragging()

disableDragging()

draggingEnabled()

enableInfoWindow()說(shuō)明啟用動(dòng)態(tài)托拽 (默認(rèn)已經(jīng)啟用) 禁止動(dòng)態(tài)托拽如果動(dòng)態(tài)托拽啟用,則返回true 啟用信息浮窗 (默認(rèn)已經(jīng)啟用) disableInfoWindow()禁止信息浮窗 windows on this mapinfoWindowEnabled()如果信息浮窗啟用,則返回true Controls

addControl(control)將給定控件添加到地圖removeControl(control)從地圖上移除相應(yīng)控件State

方法

getCenterLatLng()

getBoundsLatLng()

getSpanLatLng()

getZoomLevel()

centerAtLatLng(latLng)

recenterOrPanToLatLng(latLng)

zoomTo(zoomLevel)說(shuō)明返回地圖中心點(diǎn)經(jīng)/緯坐標(biāo)返回地圖視口邊界 bounds(經(jīng)/緯坐標(biāo)) 返回地圖視口寬度和高度(用精度和緯度作坐標(biāo)) 返回地圖的縮放級(jí)別將地圖中心定位到指定GPoint 將地圖中心定位到指定GPoint ,如果指定點(diǎn)在視口之中,則執(zhí)行平滑過(guò)渡動(dòng)作縮放到指定的等級(jí),如果指定的等級(jí)超出范圍,則請(qǐng)求會(huì)被忽略. centerAndZoom(latLng, zoomLevel)自動(dòng)定位和縮放地圖getMapTypes()

getCurrentMapType()

setMapType(mapType)返回所有支持的地圖類(lèi)型的數(shù)組(例如G_MAP_TYPE和G_SATELLITE_TYPE) 返回當(dāng)前使用的地圖類(lèi)型(例如G_MAP_TYPE或G_SATELLITE_TYPE) 切換到指定的地圖類(lèi)型(例如G_MAP_TYPE或G_SATELLITE_TYPE) Overlays

方法

addOverlay(overlay)說(shuō)明將指定的標(biāo)注 (例如GMarker 或GPolyline ) 添加到地圖removeOverlay(overlay)從地圖上移除指定的標(biāo)注clearOverlays()刪除所有地圖上的標(biāo)注

標(biāo)簽: