中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Google 地圖基礎(chǔ)

寫在前面:谷歌地圖 API 的國外服務(wù)地址是 maps.googleapis.com/maps/api/js,國內(nèi)服務(wù)地址是 maps.google.cn/maps/api/js


創(chuàng)建一個(gè)簡單的 Google 地圖

現(xiàn)在讓我們創(chuàng)建一個(gè)簡單的 Google 地圖。

以下是顯示了英國倫敦的 Google 地圖:

實(shí)例

<!DOCTYPE html> <html> <head> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDJW4jsPlNKgv6jFm3B5Edp5ywgdqLWdmc&callback=initMap" async defer></script> <script> function initialize() { var mapProp = { center:new google.maps.LatLng(51.508742,-0.120850), zoom:5, mapTypeId:google.maps.MapTypeId.ROADMAP }; var map=new google.maps.Map(document.getElementById("googleMap"), mapProp); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="googleMap" style="width:500px;height:380px;"></div> </body> </html>

運(yùn)行代碼 ?

實(shí)例解析

我們以以上實(shí)例來解析 Google 地圖的創(chuàng)建過程。

應(yīng)用為什么要聲明 HTML5?

<!DOCTYPE html>

大多數(shù)瀏覽器使用 "標(biāo)準(zhǔn)模式" 的 HTML5 文檔渲染頁面,這就意味著你的應(yīng)用是兼容各大瀏覽器的。

另外,如果沒有DOCTYPE標(biāo)簽,瀏覽器則使用混雜模式 (quirks mode)進(jìn)行渲染頁面內(nèi)容。

提示: 應(yīng)該注意的是一些"混雜模式 "中的CSS并不能使用于標(biāo)準(zhǔn)模式中。在具體的應(yīng)用中,所有基于百分比的大小都必須從父塊元素繼承 。如果在父模塊中沒有指定大小,默認(rèn)值為 0 x 0 像素。如果你想使用百分比,可以在<style> 標(biāo)簽中聲明,如下所示:

<style type="text/css">
html {height:100%}
body {height:100%;margin:0;padding:0}
#googleMap {height:100%}
</style>

這個(gè)樣式聲明表明地圖模塊的(GoogleMap)應(yīng) HTML高度為100%。


添加 Google 地圖 API Key

在以下實(shí)例中第一個(gè)<script> 標(biāo)簽中必須包含 Google 地圖 API:

<script src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=TRUE_OR_FALSE"></script>

將google生成的 API key 放置于 key 參數(shù)中(key=YOUR_API_KEY)。

The sensor 參數(shù)是必須的,該參數(shù)用于指明應(yīng)用程序是否使用一個(gè)傳感器 (類似 GPS 導(dǎo)航) 來定位用戶的位置。參數(shù)值可以設(shè)置為 true 或者 false。

HTTPS

如果你的應(yīng)用是安全的HTTP(HTTPS:HTTP Secure)應(yīng)用,你可以使用 HTTPS 來加載 Google 地圖 API:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=TRUE_OR_FALSE"></script>

異步加載

同樣我們也可以在頁面完全載入后再加載 Google 地圖 API。

以下實(shí)例使用了 window.onload 來實(shí)現(xiàn)頁面完全載入后加載 Google 地圖 。 loadScript() 函數(shù)創(chuàng)建了加載 Google 地圖 API <script> 標(biāo)簽。此外在標(biāo)簽的末尾添加了 callback=initialize 參數(shù), initialize()作為回調(diào)函數(shù)會在API完全載入后執(zhí)行:

實(shí)例

function loadScript() { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "https://maps.googleapis.com/maps/api/js?key=AIzaSyBzE9xAESye6Kde-3hT-6B90nfwUkcS8Yw&sensor=false&callback=initialize"; document.body.appendChild(script); } window.onload = loadScript;

運(yùn)行代碼 ?

定義地圖屬性

在初始化地圖前,我們需要先創(chuàng)建一個(gè) Map 屬性對象來定義一些地圖的屬性:

var mapProp = {
? center:new google.maps.LatLng(51.508742,-0.120850),
? zoom:7,
? mapTypeId: google.maps.MapTypeId.ROADMAP
};

center(中心點(diǎn))

中心屬性指定了地圖的中心,該中心通過坐標(biāo)(緯度,經(jīng)度)在地圖上創(chuàng)建一個(gè)中心點(diǎn)。

Zoom(縮放級數(shù))

zoom 屬性指定了地圖的 縮放級數(shù)。zoom: 0 顯示了整個(gè)地球地圖的完全縮放。

MapTypeId(地圖的初始類型)

mapTypeId 屬性指定了地圖的初始類型。

mapTypeId包括如下四種類型:

  • google.maps.MapTypeId.HYBRID:顯示衛(wèi)星圖像的主要街道透明層
  • google.maps.MapTypeId.ROADMAP:顯示普通的街道地圖
  • google.maps.MapTypeId.SATELLITE:顯示衛(wèi)星圖像
  • google.maps.MapTypeId.TERRAIN:顯示帶有自然特征(如地形和植被)的地圖

在哪里顯示 Google 地圖

通常 Google 地圖使用于 <div> 元素中:

<div id="googleMap" style="width:500px;height:380px;"></div>

注意: 地圖將以div中設(shè)置的大小來顯示地圖的大小,所以我們可以在 <div> 元素中設(shè)置地圖的大小。


創(chuàng)建一個(gè) Map 對象

var map=new google.maps.Map(document.getElementById("googleMap")
,mapProp);

以上代碼使用參數(shù)(mapProp)在<div> 元素 (id為googleMap) 創(chuàng)建了一個(gè)新的地圖。

提示:如果想在頁面中創(chuàng)建多個(gè)地圖,你只需要添加新的地圖對象即可。

以下實(shí)例定義了四個(gè)地圖實(shí)例 (四個(gè)地圖使用了不同的地圖類型):

實(shí)例

var map = new google.maps.Map(document.getElementById("googleMap"),mapProp); var map2 = new google.maps.Map(document.getElementById("googleMap2"),mapProp2); var map3 = new google.maps.Map(document.getElementById("googleMap3"),mapProp3); var map4 = new google.maps.Map(document.getElementById("googleMap4"),mapProp4);

運(yùn)行代碼 ?

加載地圖

窗口載入后通過執(zhí)行 initialize() 函數(shù)來初始化 Map 對象,這樣可以確保在頁面完全載入后再加載 Google 地圖:

google.maps.event.addDomListener(window, 'load', initialize);