Google 地圖控件集詳解及實(shí)例代碼
Google 地圖控件集
Google 地圖 - 默認(rèn)控件集設(shè)置:
當(dāng)使用一個標(biāo)準(zhǔn)的google地圖,它的默認(rèn)設(shè)置如下:
1.Zoom-顯示一個滑動條來控制map的Zoom級別

2.PPan-地圖上顯示的是一個平底碗樣的控件,點(diǎn)擊4個角平移地圖

3.MapType-允許用戶在map types(roadmap 和 satallite)之間切換

4.StreetView-顯示為一個街景小人圖標(biāo),可拖拽到地圖上某個點(diǎn)來打開街景

Google 地圖 - 更多控件集
除了以上默認(rèn)控件集,Google還有:
.Scale-顯示地圖比例尺
.Rotate-顯示一個小的圓周圖標(biāo),可以轉(zhuǎn)動地圖
.verview Map-從一個廣域的視角俯視地圖
創(chuàng)建地圖時你可以通過設(shè)置選項(xiàng)指定哪些控件集顯示或者通過調(diào)用 setOptions() 來改變地圖的設(shè)置選項(xiàng)。
Google 地圖 - 關(guān)閉默認(rèn)控件集
你可能希望能夠關(guān)閉默認(rèn)的控件集。
為了關(guān)閉默認(rèn)控件集,設(shè)置地圖的disableDefaultUI的屬性為true:
實(shí)例
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center: new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
disableDefaultUI:true,
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>
Google 地圖 - 開所有控件集
一些控件集默認(rèn)顯示在地圖上,而其它的不會,除非你設(shè)置它們。
設(shè)置控件為true使其可見-設(shè)置控件為false則隱藏它。
以下實(shí)例開啟所有的控件:
實(shí)例
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center: new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
panControl:true,
zoomControl:true,
mapTypeControl:true,
scaleControl:true,
streetViewControl:true,
overviewMapControl:true,
rotateControl:true,
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>
Google 地圖 - 修改控件集
某些地圖控件是可配置的。通過制定控件選項(xiàng)域改變控件集。
F舉個例子來說,修改Zoom 控件的選項(xiàng)在zoomControlOptions指定。zoomControlOptions包含如下3種選項(xiàng):
1.google.maps.ZoomControlStyle.SMALL-顯示最小化zoom 控件
2.google.maps.ZoomControlStyle.LARGE-顯示標(biāo)準(zhǔn)zoom滑動控件
3.google.maps.ZoomControlStyle.DEFAULT-基于設(shè)備和地圖大小,選擇最合適的控件
實(shí)例
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center: new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
zoomControl:true,
zoomControlOptions: {
style:google.maps.ZoomControlStyle.SMALL
},
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>
注意: 如果需要修改一個控件,首先開啟控件(設(shè)置其為true)。
另一個控件為 MapType 控件。
MapType 控件可顯示為以下 style 選項(xiàng)之一:
1.google.maps.MapTypeControlStyle.HORIZONTAL_BAR,用于在水平欄中將一組控件顯示為如 Google Maps 中所示按鈕。
2.google.maps.MapTypeControlStyle.DROPDOWN_MENU,用于顯示單個按鈕控件,以便您從下拉菜單中選擇地圖類型。
3.google.maps.MapTypeControlStyle.DEFAULT,用于顯示"默認(rèn)"的行為,該行為取決于屏幕尺寸,并且可能會在 API 以后的版本中有所變化。
實(shí)例
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center: new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
mapTypeControl:true,
mapTypeControlOptions: {
style:google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
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>
同樣你可以使用ControlPosition屬性指定控件的位置:
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center: new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
mapTypeControl:true,
mapTypeControlOptions: {
style:google.maps.MapTypeControlStyle.DROPDOWN_MENU,
position:google.maps.ControlPosition.TOP_CENTER
},
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>
Google 地圖 - 自定義控件集
創(chuàng)建一個返回倫敦自定義控件,用于點(diǎn)擊事件: (如果地圖被拖拽):
實(shí)例
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
var map;
var london = new google.maps.LatLng(51.508742,-0.120850);
// Add a Home control that returns the user to London
function HomeControl(controlDiv, map) {
controlDiv.style.padding = '5px';
var controlUI = document.createElement('div');
controlUI.style.backgroundColor = 'yellow';
controlUI.style.border='1px solid';
controlUI.style.cursor = 'pointer';
controlUI.style.textAlign = 'center';
controlUI.title = 'Set map to London';
controlDiv.appendChild(controlUI);
var controlText = document.createElement('div');
controlText.style.fontFamily='Arial,sans-serif';
controlText.style.fontSize='12px';
controlText.style.paddingLeft = '4px';
controlText.style.paddingRight = '4px';
controlText.innerHTML = '<b>Home<b>'
controlUI.appendChild(controlText);
// Setup click-event listener: simply set the map to London
google.maps.event.addDomListener(controlUI, 'click', function() {
map.setCenter(london)
});
}
function initialize() {
var mapDiv = document.getElementById('googleMap');
var myOptions = {
zoom: 12,
center: london,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(mapDiv, myOptions);
// Create a DIV to hold the control and call HomeControl()
var homeControlDiv = document.createElement('div');
var homeControl = new HomeControl(homeControlDiv, map);
// homeControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>
以上就是Google 地圖控件集的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)知識,希望能幫助開發(fā)Google 地圖應(yīng)用的朋友,謝謝大家對本站的支持!
相關(guān)文章
JS版的date函數(shù)(和PHP的date函數(shù)一樣)
這篇文章主要介紹了JS版的date函數(shù),使用方法和PHP的date函數(shù)一樣,需要的朋友可以參考下2014-05-05
JS中的every()對空數(shù)組總返回true原理分析
這篇文章主要為大家介紹了JS中的every()對空數(shù)組總返回true原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
微信小程序 wxapp導(dǎo)航 navigator詳解
這篇文章主要介紹了微信小程序 wxapp導(dǎo)航 navigator詳解的相關(guān)資料,并附簡單實(shí)例代碼,需要的朋友可以參考下2016-10-10
詳解節(jié)點(diǎn)監(jiān)控相對準(zhǔn)確的計(jì)算FMP
這篇文章主要為大家介紹了節(jié)點(diǎn)監(jiān)控相對準(zhǔn)確的計(jì)算FMP詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
element?plus的樣式修改和擴(kuò)展實(shí)例
這篇文章主要為大家介紹了element?plus的樣式修改和擴(kuò)展實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
umi插件開發(fā)仿dumi項(xiàng)目實(shí)現(xiàn)基礎(chǔ)路由解析
這篇文章主要為大家介紹了umi插件開發(fā)仿dumi項(xiàng)目實(shí)現(xiàn)基礎(chǔ)路由解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
next.js源碼解析getStaticProps?getStaticPaths使用場景
這篇文章主要為大家介紹了next.js源碼解析getStaticProps?getStaticPaths使用場景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
TypeScript編寫自動創(chuàng)建長度固定數(shù)組的類型工具詳解
這篇文章主要為大家介紹了TS編寫自動創(chuàng)建長度固定數(shù)組的類型工具詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

