zoukankan      html  css  js  c++  java
  • 百度地图(37)-GL 自动完成

    1. 自动完成和二维功能类似,使用  BMapGL.Autocomplete 进行完成,

       可以指定输入框的ID,以及对应的地图对象。

    2. 有个问题:

      三维的情况下,必需将  searchResultPanel display 属性必需设为 block,

    设为none的时候,无法触发 onhighlight  和 onconfirm 事件。

    3. 代码参考

     1 function addAutocomplete(){
     2   var ac = new BMapGL.Autocomplete(    //建立一个自动完成的对象
     3     {"input" : "suggestId",
     4       "location" : map
     5     });
     6 
     7   ac.addEventListener("onhighlight", function(e) {  //鼠标放在下拉列表上的事件
     8     var str = "";
     9     var _value = e.fromitem.value;
    10     var value = "";
    11     if (e.fromitem.index > -1) {
    12       value = _value.province +  _value.city +  _value.district +  _value.street +  _value.business;
    13     }
    14     str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
    15 
    16     value = "";
    17     if (e.toitem.index > -1) {
    18       _value = e.toitem.value;
    19       value = _value.province +  _value.city +  _value.district +  _value.street +  _value.business;
    20     }
    21     str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
    22     G("searchResultPanel").innerHTML = str;
    23   });
    24 
    25   var myValue;
    26   ac.addEventListener("onconfirm", function(e) {    //鼠标点击下拉列表后的事件
    27     var _value = e.item.value;
    28     myValue = _value.province +  _value.city +  _value.district +  _value.street +  _value.business;
    29     G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
    30 
    31     setPlace();
    32   });
    33 
    34   function setPlace(){
    35     map.clearOverlays();    //清除地图上所有覆盖物
    36     function myFun(){
    37       var pp = local.getResults().getPoi(0).point;    //获取第一个智能搜索的结果
    38       alert(pp.lng);
    39       map.centerAndZoom(pp, 18);
    40       map.addOverlay(new BMapGL.Marker(pp));    //添加标注
    41     }
    42     var local = new BMapGL.LocalSearch(map, { //智能搜索
    43       onSearchComplete: myFun
    44     });
    45     local.search(myValue);
    46   }
    47 }

    4. 页面显示

    5. 源码地址

    https://github.com/WhatGIS/bdMap

  • 相关阅读:
    HDU1171(01背包均分问题)
    HDU2159(完全背包)
    HDU1203(01背包变形)
    DAG上的DP
    ADB命令小结
    HDU3065(AC自动机入门题)
    HDU2896(AC自动机入门题)
    性能测试监控分析(13)-sysstat安装升级
    tomcat(9)-linux apache tomcat集群环境搭建
    nginx(4)-负载均衡的5种策略及原理
  • 原文地址:https://www.cnblogs.com/googlegis/p/14707461.html
Copyright © 2011-2022 走看看