【百度地图API】暑假放假回老家——城市切换功能
生活随笔
收集整理的這篇文章主要介紹了
【百度地图API】暑假放假回老家——城市切换功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:【百度地圖API】暑假放假回老家——城市切換功能
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<meta name="keywords" content="百度地圖,百度地圖API,百度地圖自定義工具,百度地圖所見即所得工具"/>
<meta name="description" content="百度地圖API自定義地圖,幫助用戶在可視化操作下生成百度地圖"/>
<title>從北京到重慶</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?&v=1.2">
</script>
</head>
<body>
<p>我要去<input id="txtSearch" type="text" value="重慶"/><input type="button" value="GO" onclick="search()"/></p>
<div style="width:520px;height:340px;border:1px solid gray;" id="container"></div>
</body>
<script type="text/javascript">
function $(id){
return document.getElementById(id); //定義$
}
var map =new BMap.Map("container"); //創建地圖
map.centerAndZoom(new BMap.Point(116.330599, 39.95536), 10); //初始化地圖
var city =new BMap.LocalSearch(map,{renderOptions:{map:map,autoViewport:true}}); //地圖顯示到查詢結果處
function search(){
var s = $("txtSearch").value;
city.search(s); //查找城市
}
</script>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>西單</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<div style="width:520px;height:340px;border:1px solid gray" id="container"></div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
function myFun(){
var pp = local.getResults().getPoi(0).point;
map.centerAndZoom(pp, 18);
}
var local = new BMap.LocalSearch(map, {
onSearchComplete: myFun
});
local.search("西單");
</script>
任務描述:
酸奶小妹放寒假啦,要從北京呼啦一下飛回重慶呢。現在百度地圖API上不能直接切換城市,怎么辦呢?
?
如何實現:
利用API先搜索到要去城市,然后再讓搜索到的城市顯示在地圖中心點。
(百度地圖上的實現方式是,給后端一個請求,后端返回該城市的經緯度)
?
圖示:
?
運行代碼:請點擊這里
?
代碼:
?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<meta name="keywords" content="百度地圖,百度地圖API,百度地圖自定義工具,百度地圖所見即所得工具"/>
<meta name="description" content="百度地圖API自定義地圖,幫助用戶在可視化操作下生成百度地圖"/>
<title>從北京到重慶</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?&v=1.2">
</script>
</head>
<body>
<p>我要去<input id="txtSearch" type="text" value="重慶"/><input type="button" value="GO" onclick="search()"/></p>
<div style="width:520px;height:340px;border:1px solid gray;" id="container"></div>
</body>
<script type="text/javascript">
function $(id){
return document.getElementById(id); //定義$
}
var map =new BMap.Map("container"); //創建地圖
map.centerAndZoom(new BMap.Point(116.330599, 39.95536), 10); //初始化地圖
var city =new BMap.LocalSearch(map,{renderOptions:{map:map,autoViewport:true}}); //地圖顯示到查詢結果處
function search(){
var s = $("txtSearch").value;
city.search(s); //查找城市
}
</script>
</html>
?
?
?
2012-02-07 ?更新一下API1.2的代碼:
原理:localsearch關鍵詞,比如“西單”。
在回調函數里,獲取第一個POI的經緯度,并且該點為中心點。
<!DOCTYPE html><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>西單</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<div style="width:520px;height:340px;border:1px solid gray" id="container"></div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
function myFun(){
var pp = local.getResults().getPoi(0).point;
map.centerAndZoom(pp, 18);
}
var local = new BMap.LocalSearch(map, {
onSearchComplete: myFun
});
local.search("西單");
</script>
總結
以上是生活随笔為你收集整理的【百度地图API】暑假放假回老家——城市切换功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: placeholder插件详解
- 下一篇: 图片压缩工具optipng/jpegop