<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

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

    http://www.playgoogle.com/post/44.html 
    將GOOGLE MAP API 和 GOOGLE Search API 進行整合,我用面向?qū)ο蟮姆绞綄懥艘粋€類,通過傳一個經(jīng)緯度進去,自動通過GOOGLE LOCAL SEARCH獲取附近的相關(guān)信息。比如餐廳、景點等,反過來標到地圖上,并可在任意容器內(nèi)顯示。

    下面是源碼:

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


    (
    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();

     

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


    評論

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

    2009-06-25 22:31 by Guoxin
    你好,你知道在window桌面怎樣用Google Search API 嗎? 我的需求是這樣的:在TextBox輸入要搜索的關(guān)鍵字,把搜索的結(jié)果顯示在Gridview里面。我的郵箱是guoxinliu917@gmail.com. 希望能得到你的幫助。謝謝!!!
    主站蜘蛛池模板: 色偷偷噜噜噜亚洲男人| 亚洲日韩一区二区一无码| 一个人免费观看视频在线中文| 成人免费视频软件网站| 亚洲一级特黄特黄的大片| 成人性生交视频免费观看| 亚洲人av高清无码| 手机看片久久国产免费| 亚洲av日韩av永久无码电影| 国产免费人成在线视频| 四虎精品免费永久免费视频| 亚洲日本韩国在线| 成人性生交大片免费看中文| 亚洲成AV人片在| 99久久99久久精品免费观看| 亚洲卡一卡2卡三卡4麻豆| 麻豆精品国产免费观看| 全黄A免费一级毛片| 亚洲综合另类小说色区色噜噜| 国产精品成人69XXX免费视频| 久久久久亚洲精品美女| 很黄很黄的网站免费的| 亚洲乱亚洲乱妇无码| 亚洲国产V高清在线观看| 久久99免费视频| 国产精品亚洲综合五月天| 午夜亚洲福利在线老司机| 在线观看免费黄网站| 亚洲免费网站在线观看| 免费一级特黄特色大片在线| 国产真人无码作爱视频免费| 亚洲人成影院在线高清| 五月天婷亚洲天综合网精品偷| 成人精品一区二区三区不卡免费看 | 亚洲理论片在线中文字幕| 成人毛片免费观看视频| 中文字幕免费不卡二区| 亚洲综合激情五月丁香六月 | 亚洲春色在线视频| 成年男女免费视频网站| 成人无码视频97免费|