Javascript Openlayers和Jquery autocomplete从矢量层打开弹出窗口
我正在使用Openlayers在线开发地图。在那张地图上我有一个显示餐馆的矢量图层。每个餐厅都有一个图标,可以单击该图标打开弹出窗口以显示更多信息。到现在为止,一直都还不错。但是我想在Jquery中实现一个自动完成搜索。 所以我想做的是,当你在自动完成中选择一个餐厅名称时,我希望地图打开相应的弹出窗口,触发弹出窗口,并将地图居中并缩放。 我设法将地图居中,但无法确定弹出窗口的位置 下面是我用于自动完成的代码:Javascript Openlayers和Jquery autocomplete从矢量层打开弹出窗口,javascript,jquery,autocomplete,popup,Javascript,Jquery,Autocomplete,Popup,我正在使用Openlayers在线开发地图。在那张地图上我有一个显示餐馆的矢量图层。每个餐厅都有一个图标,可以单击该图标打开弹出窗口以显示更多信息。到现在为止,一直都还不错。但是我想在Jquery中实现一个自动完成搜索。 所以我想做的是,当你在自动完成中选择一个餐厅名称时,我希望地图打开相应的弹出窗口,触发弹出窗口,并将地图居中并缩放。 我设法将地图居中,但无法确定弹出窗口的位置 下面是我用于自动完成的代码: $(function() { $( "#searchresto" ).catcompl
$(function() {
$( "#searchresto" ).catcomplete({
delay: 0,
source: "select_resto.php",
select: function ( event, ui )
{
map.setCenter(
new OpenLayers.LonLat( ui.item.h_lon, ui.item.h_lat).transform(
new OpenLayers.Projection(Geo_pjt),
map.getProjectionObject()
), 5 );
},
open: function () {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top");
},
close: function () {
$( this ).removeClass( "ui-corner-top").addClass("ui-corner-all");
}
});});
这是我的向量层:
var resto = new OpenLayers.Layer.Vector("GML", {
protocol: new OpenLayers.Protocol.HTTP({
url: "restaurant.php",
format: new OpenLayers.Format.GML(),
}),
strategies: [new OpenLayers.Strategy.Fixed()],
projection: map.displayProjection,
});
有人知道如何在Jquery函数中调用弹出窗口吗?或者也许我想做的是不可能的 在长时间的把头撞在桌子上之后,我终于自己找到了答案 如果您感兴趣,请参见以下内容: 首先在autocomplete的输入上添加一个onchange=yourfunction
<input type="text" id="searchresto" onchange="yourfunction(this)"/>
完成!!!!
无论如何,谢谢你没有回答我,我真的提高了我的Javascript技能!!!:
我希望这能帮助别人 在长时间的把头撞在桌子上之后,我终于自己找到了答案 如果您感兴趣,请参见以下内容: 首先在autocomplete的输入上添加一个onchange=yourfunction
<input type="text" id="searchresto" onchange="yourfunction(this)"/>
完成!!!!
无论如何,谢谢你没有回答我,我真的提高了我的Javascript技能!!!:
我希望这能帮助别人
$(function() {
$( "#searchresto" ).catcomplete({
delay: 0,
source: "select_resto.php",
select: yourfunction
});});