高德地圖:1.加載谷歌圖層,2.添加關鍵詞搜索提示並定位到搜索位置


問題一、加載谷歌圖層

1.首先你得先有高德地圖的key

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=你申請的key"></script>

 

2.應用外部js文件(https://cache.amap.com/lbs/static/addToolbar.js)

這里,由於js內容很少,我直接復制到我的頁面js里啦,內容如下:

map.plugin(["AMap.ToolBar"], function() {
        map.addControl(new AMap.ToolBar());
    });
    if(location.href.indexOf('&guide=1')!==-1){
        map.setStatus({scrollWheel:false})
    }

 

3.html頁面准備上地圖的顯示容器,這里顯示了兩個按鈕動態切換是否加載谷歌圖層

    <div id="container" class="wagvc" style="top: {$mapboxtop}px; z-index: 199;"></div>
        
        <div id="google_map">
            <div class="button-group">
                <input type="button" class="button" value="疊加google地圖" id="addGoogleLayer"/>
                <input type="button" class="button" value="移除google地圖" id="removeGoogleLayer"/>
            </div>
        </div>

 

4.在引用的js中添加如下

  //疊加谷歌地圖 
    var googleLayer = null;
    // 添加Google圖層
    $("#addGoogleLayer").click(function(){
        googleLayer = new AMap.TileLayer({
            // 圖塊取圖地址
            tileUrl: 'http://mt{1,2,3,0}.google.cn/vt/lyrs=y@142&hl=zh-CN&gl=cn&x=[x]&y=[y]&z=[z]&s=Galil',//谷歌衛星地圖
//          tileUrl: 'http://mt{1,2,3,0}.google.cn/vt/lyrs=m@142&hl=zh-CN&gl=cn&x=[x]&y=[y]&z=[z]&s=Galil',//普通谷歌地圖
            zIndex: 1
        });
        //將谷歌圖層添加到地圖上
        googleLayer.setMap(map);
    })
    //移除Google地圖
    $("#removeGoogleLayer").click(function(){
        googleLayer.setMap(null);
    })

 

參考的高德地圖api:https://lbs.amap.com/api/javascript-api/reference/layer/#TileLayer

 

 

問題二、添加關鍵詞搜索提示並定位到搜索位置

前兩步跟第一個問題一樣

3.html頁面添加

    <div id="myPageTop" style="z-index: 10000;">
            <table>
                <tr>
                    <td>
                        <label>請輸入關鍵字:</label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input id="tipinput"/>
                    </td>
                </tr>
            </table>
        </div>

4.引入的js中添加

//輸入提示
    var autoOptions = {
        input: "tipinput"
    };
    var auto = new AMap.Autocomplete(autoOptions);
    var placeSearch = new AMap.PlaceSearch({
        map: map,
        city:'西安',
        pageSize: 1
    });  //構造地點查詢類
    AMap.event.addListener(auto, "select", select);//注冊監聽,當選中某條記錄時會觸發
    function select(e) {
        placeSearch.setCity(e.poi.adcode);
        placeSearch.search(e.poi.name);  //關鍵字查詢查詢
    }

css也附上不,也不好看

#myPageTop {
                position: absolute;
                top: 5px;
                right: 10px;
                background: #fff none repeat scroll 0 0;
                border: 1px solid #ccc;
                margin: 10px auto;
                padding:6px;
                font-family: "Microsoft Yahei", "微軟雅黑", "Pinghei";
                font-size: 14px;
            }
            #myPageTop label {
                margin: 0 20px 0 0;
                color: #666666;
                font-weight: normal;
            }
            #myPageTop input {
                width: 170px;
            }
            #myPageTop .column2{
                padding-left: 25px;
            }

效果:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM