请教一个关闭按钮执行的问题,很简单,会者举手之劳
我使用天地图,注册了一个marker,点击弹出自定义窗口,这个自定义窗口是html输出的,里面有一个关闭按钮,但我不明白为什么我执行不到关闭。
var map, zoom = 12, markerclick;
var customerWinInfo = null;
map = new TMap("mapDiv");
官方给出的关闭窗口的代码:map.removeOverLay(customerWinInfo);,只要执行这一句就可以了
如果我把代码写在onclick="function onClose(){map.removeOverLay(customerWinInfo); };
又会没有作用,这个程序段有一个闭包,所以我不知道把这个onClose()函数写到哪里可以正确执行map.removeOverLay(customerWinInfo);
var map, zoom = 12, markerclick;
var customerWinInfo = null;
map = new TMap("mapDiv");
/<script>
$(document).ready(function () {
var map, zoom = 12, markerclick;
var customerWinInfo = null;
map = new TMap("mapDiv");
$.ajax({
url: "/Home/GetStations",
type: "get",
cache: false,
success: function (result) {
var json = eval("(" + result + ")");
for (var i = 0; i < json.stations.length; i++) {
var lnglat = new TLngLat(parseFloat(json.stations[i].Longitude), parseFloat(json.stations[i].Latitude));
if (i == 0) {
map.centerAndZoom(lnglat, zoom);
}
var marker = new TMarker(lnglat);
marker.txt = json.stations[i].RecorderId;
//注册标注的点击事件
(function () {
var m = marker;
markerclick = TEvent.addListener(m, "click", function (p) {
//alert("标注当前坐标:" + m.getLngLat().getLng() + "," + m.getLngLat().getLat() + " \nid : " + " \n自定义属性,随机数: " + m.txt);
var html = [];
html.push('<div style="background:#CCCC99;height:20px;color:#000;width:135px;">');
html.push(' <span style="width:100px;float:left;margin-left:2px;background:">自定义信息窗口</span><span style="width:30px;float:right;margin-right:2px;" onclick="onClose();">关闭</span>');
html.push('</div>');
html.push('<div id="deliver-legend-ctrl" style="background:#fff;border:1px solid #C0C0C0;">');
html.push(' <table cellspacing="0" cellspadding="0" style="width:130px;border:1px solid #ff0000;">');
html.push(' <tr align="center" style="height:10px;">');
html.push(' <td></td>');
html.push(' <td><a herf="javascript:void(0);"></a></td>');
html.push(' </tr>');
html.push(' <tr align="center">');
html.push(' <td>经度:</td>');
html.push(' <td>' + m.getLngLat().getLng() + '</td>');
html.push(' </tr>');
html.push(' <tr align="center">');
html.push(' <td>纬度:</td>');
html.push(' <td>' + m.getLngLat().getLat() + '</td>');
html.push(' </tr>');
html.push(' <tr style="height:10px;">');
html.push(' <td></td>');
html.push(' <td><a herf="javascript:void(0);"></a></td>');
html.push(' </tr>');
html.push(' </table>');
html.push('</div>');
var config = {
offset: new TPixel(0, 0),
position: m.getLngLat()
};
customerWinInfo = new TLabel(config);
customerWinInfo.setTitle('');
customerWinInfo.setLabel(html.join(''));
customerWinInfo.getObject().style.zIndex = 10000;
map.addOverLay(customerWinInfo);
var obj = customerWinInfo.getObject();
var width = parseInt(obj.offsetWidth);
var height = parseInt(obj.offsetHeight);
var icon = this.getIcon();
var anchor_icon = icon.getAnchor();
var pixel = new TPixel(width / -2, height / -2 - anchor_icon[1]);
customerWinInfo.setOffset(pixel);
});
})();
//(function () {
// var m = marker;
// TEvent.addListener(m, "mouseout", function (p) {
// map.removeOverLay(customerWinInfo);
// });
//})();
map.addOverLay(marker);
}
}
});
map.enableHandleMouseScroll();
////创建图片对象
//var icon = new TIcon("http://api.tianditu.com/img/map/markerA.png", new TSize(19, 27), { anchor: new TPixel(9, 27) });
////向地图上添加自定义标注
//var marker = new TMarker(new TLngLat(116.411794, 39.9068), { icon: icon });
});
</script>
官方给出的关闭窗口的代码:map.removeOverLay(customerWinInfo);,只要执行这一句就可以了
如果我把代码写在onclick="function onClose(){map.removeOverLay(customerWinInfo); };
又会没有作用,这个程序段有一个闭包,所以我不知道把这个onClose()函数写到哪里可以正确执行map.removeOverLay(customerWinInfo);
...全文
相关推荐
一个漂亮的前端弹窗,包含关闭按钮,样式清晰好看,可关闭弹窗
一个漂亮的前端弹窗,包含关闭按钮,样式清晰好看,可关闭弹窗" 这个标题所描述的是一个理想的前端组件,它既满足了视觉设计的需求,也兼顾了交互性的功能。
简单分割线和禁止窗口关闭按钮
例如,可以创建一个简单的水平或垂直线条,通过设置其颜色、宽度和位置来适应界面布局。分割线的合理运用有助于提高界面的可读性和用户体验。接着,我们来看"禁止窗口关闭按钮"。
js简单的弹出框有关闭按钮
本文档介绍了如何使用JavaScript实现一个带有关闭按钮的简单弹出框,适合初学者了解基础的网页交互设计。HTML和CSS代码被详细展示,以便读者理解并复制到自己的项目中。首先,我们从HTML部
jQuery实现的简单带有关闭按钮的lightbox高亮图片展示效果
jQuery实现的简单带有关闭按钮的lightbox高亮图片展示效果"这个项目是利用jQuery这一流行的JavaScript库来创建一个具有基本功能的Lightbox效果,包括显示高亮的图片以及添加一个关闭按钮
elementui更改el-dialog关闭按钮的图标d的示例代码
`el-dialog`的关闭按钮位于对话框的右上角,通常表现为一个“×”字符。在默认情况下,这个图标是通过CSS类`.el-dialog__close`控制的。


