使用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选项对象以包含地图初始化变量.该对象未构造; 相反,它被创建为对象文字.每个地图都有两个必需的选项:中心和 …
我知道这可能很简单,但我没有得到.我已经创建了一个库,我想从配置文件中加载参数.所以这是我所拥有的一个例子:
// 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 =",没有实际的键.我错过了什么?
我有一张桌子,上面有商家名字和字段,里面有他们提供的服务."服务"字段是以逗号分隔的整数列表,它与另一个"服务"表相关,并带有"服务ID"和"服务名称"字段.
我正在尝试创建一个连接这两个的单个查询,因此我可以列出商家列表以及服务名称.到目前为止,我的解决方案是在我的初始'foreach'循环中进行第二次循环,但这可能意味着每个商家名称有5或6个db调用.
在一些StackOverflowing(google-ing)之后,我注意到使用逗号分隔字段可能不是最好的方法.
任何人都有办法进行连接,或者想如何更好地设置数据库结构?提前谢谢了!
我的自动完成工作正常,但我正在努力想办法让它更快。这是我的 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) 我使用以下方法重新创建了一个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)
但现在,当您单击"选择"框时,下拉列表会向下滑动并向右滑动.我有什么想法我做错了吗?首先十分感谢...