小编Ter*_*ula的帖子

Google Maps v3 - 如何在初始化时使用地址居中?

使用Google Maps API v3,有没有办法在初始化时设置地图的中心?我有一个使用此代码的解决方法:

var geocoder;
  var map;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    codeAddress('germany');
  }

  function codeAddress(address) {
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location
        });
      }
    });
  }
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,当它初始化时,它将它中心化为"latlng"一瞬间.我无法弄清楚如何在"myOptions"中设置中心.我虽然可以从codeAddress函数返回"results [0] .geometry.location"并将其传递给myOptions,但这不起作用.

谢谢你的帮助.

更新 由于我无法完全删除"中心",我想知道是否有办法将地址传递给选项.

来自Google API:

要初始化Map,我们首先创建一个Map选项对象以包含地图初始化变量.该对象未构造; 相反,它被创建为对象文字.每个地图都有两个必需的选项:中心和 …

javascript google-maps-api-3

39
推荐指数
1
解决办法
5万
查看次数

将自定义配置文件加载到Codeigniter库中

我知道这可能很简单,但我没有得到.我已经创建了一个库,我想从配置文件中加载参数.所以这是我所拥有的一个例子:

// libraries/Mylib.php
class Mylib {
   var $ci;
   var $key;
   public function _construct {
     $this->ci =& get_instance();
     $this->ci->config->load('mylib');
     $this->key = $this->ci->config->item('key');
   }
   public function myKey() {
     return "Key=" . $this->key;
   }
}

// config/mylib.php
$config['key'] = 'randomcharacters';
Run Code Online (Sandbox Code Playgroud)

我加载了库,并尝试打印出myKey函数,但它只返回"Key =",没有实际的键.我错过了什么?

config codeigniter

12
推荐指数
1
解决办法
2万
查看次数

mySql - 使用逗号分隔值列表创建连接

我有一张桌子,上面有商家名字和字段,里面有他们提供的服务."服务"字段是以逗号分隔的整数列表,它与另一个"服务"表相关,并带有"服务ID"和"服务名称"字段.

我正在尝试创建一个连接这两个的单个查询,因此我可以列出商家列表以及服务名称.到目前为止,我的解决方案是在我的初始'foreach'循环中进行第二次循环,但这可能意味着每个商家名称有5或6个db调用.

在一些StackOverflowing(google-ing)之后,我注意到使用逗号分隔字段可能不是最好的方法.

任何人都有办法进行连接,或者想如何更好地设置数据库结构?提前谢谢了!

php mysql

6
推荐指数
2
解决办法
7077
查看次数

jQuery UI - 加速自动完成

我的自动完成工作正常,但我正在努力想办法让它更快。这是我的 HTML:

Country: <select name='country' id='country' onchange="renewAutocomplete();">
             <option value='US'>USA</option>
             <option value='UK'>United Kingdom</option>
         </select><br/>
City: <input type='text' name='city' id='city' />
<script>
   function renewAutocomplete() {
      $( "#city" ).autocomplete({
            source: "searchCities/" + $('#country').val(),
            minLength: 2
        });
   }
</script>
Run Code Online (Sandbox Code Playgroud)

PHP/mySQL 查询非常基本:

$term = $_GET['term'];
$sql = "SELECT city FROM cities WHERE country_code = '{$country}' AND city LIKE '{$term}%'";
Run Code Online (Sandbox Code Playgroud)

当然,这意味着每次击键都会有一个新的查询。添加一些缓存会有所帮助,但它仍然没有我认为的那么快。

问题 1 我的第一个想法是在选择 Country 时在一个 db 调用中获取所有城市。有没有办法将返回的所有国家城市的 JSON 分配给自动完成可以使用的变量?我的初始测试只会在您输入时弹出所有城市:

      $.get("searchCities/" + $('#country').val(), function(data) {
                    $( "#city" ).autocomplete({
                        source: data,
                        minLength: 2
                    });
        });
PHP: 
    $sql …
Run Code Online (Sandbox Code Playgroud)

php mysql jquery-ui autocomplete

5
推荐指数
1
解决办法
2576
查看次数

Jquery - 检查选择框外的点击次数

我使用以下方法重新创建了一个Select框及其下拉函数:

$(".selectBox").click(function(e) {
    if (!$("#dropDown").css("display") || $("#dropDown").css("display") == "none")
        $("#dropDown").slideDown();
    else
        $("#dropDown").slideUp();
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,如果您点击该框,则下拉列表会保留.我希望它模仿常规下拉并在你点击时关闭,所以我想我可以做一个'身体'点击:

$('body').click(function(){
    if ($("#dropdown").css("display") || $("#dropdown").css("display") != "none")
        $("#dropdown").slideUp();
});
Run Code Online (Sandbox Code Playgroud)

但现在,当您单击"选择"框时,下拉列表会向下滑动并向右滑动.我有什么想法我做错了吗?首先十分感谢...

jquery

0
推荐指数
1
解决办法
1220
查看次数