<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 310, comments - 6939, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Google Map Api和GOOGLE Search Api整合擴展地圖本地搜索

    Posted on 2009-05-01 12:08 詩特林 閱讀(2859) 評論(1)  編輯  收藏 所屬分類: GIS

    http://www.playgoogle.com/post/44.html 
    將GOOGLE MAP API 和 GOOGLE Search API 進行整合,我用面向對象的方式寫了一個類,通過傳一個經緯度進去,自動通過GOOGLE LOCAL SEARCH獲取附近的相關信息。比如餐廳、景點等,反過來標到地圖上,并可在任意容器內顯示。

    下面是源碼:

    /*
    *Author:karry
    *Version:1.0
    *Time:2008-12-01
    *KMapSearch 類
    *把GOOGLE MAP 和LocalSearch結合。只需要傳入MAP\經緯度值,就可以把該經緯度附近的相關本地搜索內容取出來,在地圖上標注出來,并可以在指定容器顯示搜索結果
    */


    (
    function() {
        
    var markers= new Array(); 
        
    var KMapSearch=window.KMapSearch= function(map_, opts_) {
            
    this.opts = {
                container:opts_.container 
    || "divSearchResult",
                keyWord:opts_.keyWord 
    || "餐廳",
                latlng: opts_.latlng 
    || new GLatLng(31121),
                autoClear:opts_.autoClear 
    || true,
                icon:opts_.icon 
    || new GIcon(G_DEFAULT_ICON)
            }
    ;
            
    this.map = map_;
            
    this.gLocalSearch = new google.search.LocalSearch();
            
    this.gLocalSearch.setCenterPoint(this.opts.latlng);
            
    this.gLocalSearch.setResultSetSize(GSearch.LARGE_RESULTSET);
            
    this.gLocalSearch.setSearchCompleteCallback(thisfunction() {
                
    if (this.gLocalSearch.results) {
                    
    var savedResults = document.getElementById(this.opts.container);
                    
    if (this.opts.autoClear) {
                        savedResults.innerHTML 
    = "";
                    }

                    
    for (var i = 0; i < this.gLocalSearch.results.length; i++{
                        savedResults.appendChild(
    this.getResult(this.gLocalSearch.results[i]));
                    }

                }

            }
    );
        }

        KMapSearch.prototype.getResult 
    = function(result) {
            
    var container = document.createElement("div");
            container.className 
    = "list";
            
    var myRadom =(new Date()).getTime().toString()+Math.floor(Math.random()*10000);
            container.id
    =myRadom;
            container.innerHTML 
    = result.title + "<br />地址:" + result.streetAddress;
            
    this.createMarker(new GLatLng(result.lat, result.lng), result.html,myRadom);
            
    return container;
        }

        KMapSearch.prototype.createMarker 
    = function(latLng, content)
        
    {
            
    var marker = new GMarker(latLng, {icon:this.opts.icon,title:this.opts.title});
            GEvent.addListener(marker, 
    "click"function() {
                marker.openInfoWindowHtml(content);
            }
    );
            markers.push(marker);
            map.addOverlay(marker);
        }

        KMapSearch.prototype.clearAll 
    = function() {
            
    for (var i = 0; i < markers.length; i++{
                
    this.map.removeOverlay(markers[i]);
            }

            markers.length 
    = 0;
        }

        KMapSearch.prototype.execute 
    = function(latLng) {
            
    if (latLng) {
                
    this.gLocalSearch.setCenterPoint(latLng);
            }

            
    this.gLocalSearch.execute(this.opts.keyWord);
        }

    }
    )();


    使用方法:

     var myIcon = new GIcon(G_DEFAULT_ICON);
                myIcon.image 
    = "canting.png";
                myIcon.iconSize 
    = new GSize(1620);
                myIcon.iconAnchor 
    = new GPoint(820);
                myIcon.shadow 
    = "";
                
    var mapSearch = new KMapSearch(map, {container:"cantingContainer",latlng:initPt,icon:myIcon,keyWord:"餐廳"});
                mapSearch.clearAll();
                mapSearch.execute();

     

     點擊這里查看演示示例:經緯度查詢整合本地搜索


    評論

    # re: Google Map Api和GOOGLE Search Api整合擴展地圖本地搜索  回復  更多評論   

    2009-06-25 22:31 by Guoxin
    你好,你知道在window桌面怎樣用Google Search API 嗎? 我的需求是這樣的:在TextBox輸入要搜索的關鍵字,把搜索的結果顯示在Gridview里面。我的郵箱是guoxinliu917@gmail.com. 希望能得到你的幫助。謝謝!!!
    主站蜘蛛池模板: 一区二区三区免费看| 亚洲成色WWW久久网站| 大地影院MV在线观看视频免费| 爽爽日本在线视频免费| 又粗又大又硬又爽的免费视频| 亚洲中文字幕无码mv| 美女视频黄的全免费视频网站| 全免费a级毛片免费**视频| 国产精品亚洲片夜色在线| 久久精品网站免费观看| 天堂亚洲免费视频| 亚洲国产婷婷六月丁香| 在线观看免费播放av片| 亚洲毛片在线观看| 国产免费久久精品99re丫y| 亚洲免费一区二区| 国产亚洲福利精品一区| 午夜精品免费在线观看| 亚洲综合免费视频| 成人黄页网站免费观看大全| 亚洲七七久久精品中文国产| 成人免费av一区二区三区| 亚洲91av视频| 特级一级毛片免费看| 亚洲精品成人网站在线观看| 91视频免费网址| 亚洲爆乳无码精品AAA片蜜桃| 久久免费视频99| 亚洲人成综合网站7777香蕉| 国产免费看插插插视频| 亚洲天堂电影在线观看| 黄床大片免费30分钟国产精品| 免费一本色道久久一区| 日本高清不卡中文字幕免费| 男女做羞羞的事视频免费观看无遮挡| 亚洲日韩国产一区二区三区在线 | 亚洲精品无码久久久久A片苍井空| 免费国产成人午夜电影| 午夜精品一区二区三区免费视频| 亚洲综合色一区二区三区| 伊人亚洲综合青草青草久热|