123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <!--********************************************************************
- * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
- *********************************************************************-->
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title data-i18n="resources.title_markerLayerEvent"></title>
- <script type="text/javascript" include="bootstrap" src="../js/include-web.js"></script>
- <script type="text/javascript" exclude="iclient-classic" src="../../dist/classic/include-classic.js"></script>
- <style type="text/css">
- body {
- margin: 0;
- overflow: hidden;
- background: #fff;
- width: 100%;
- height: 100%
- }
- #map {
- position: absolute;
- width: 100%;
- height: 100%;
- }
- </style>
- </head>
- <body>
- <div id="map"></div>
- <script>
- var map, layer, markerlayer, marker,
- host = window.isLocal ? window.server : "https://iserver.supermap.io",
- url = host + "/iserver/services/map-world/rest/maps/World";
- init();
- function init() {
- map = new SuperMap.Map("map", {
- controls: [
- new SuperMap.Control.Zoom(),
- new SuperMap.Control.Navigation(),
- new SuperMap.Control.LayerSwitcher()
- ]
- });
- layer = new SuperMap.Layer.TiledDynamicRESTLayer("World", url, null, {maxResolution: "auto"});
- markerlayer = new SuperMap.Layer.Markers("markerLayer");
- layer.events.on({"layerInitialized": addLayer});
- addData();
- }
- function addLayer() {
- map.addLayers([layer, markerlayer]);
- //显示地图范围
- map.setCenter(new SuperMap.LonLat(0, 0), 1);
- }
- //添加数据
- function addData() {
- markerlayer.removeMarker(marker);
- var size = new SuperMap.Size(44, 33);
- var offset = new SuperMap.Pixel(-(size.w / 2), -size.h);
- var icon = new SuperMap.Icon('./images/marker.png', size, offset);
- marker = new SuperMap.Marker(new SuperMap.LonLat(0, 0), icon);
- marker.events.on({
- "click": openInfoWin,
- "touchstart": openInfoWin, //假如要在移动端的浏览器也实现点击弹框,则在注册touch类事件
- "scope": marker
- });
- markerlayer.addMarker(marker);
- }
- //打开对应的信息框
- var infowin = null;
- function openInfoWin() {
- closeInfoWin();
- var marker = this;
- var lonlat = marker.getLonLat();
- var size = new SuperMap.Size(0, 33);
- var offset = new SuperMap.Pixel(11, -30);
- var icon = new SuperMap.Icon("./images/marker.png", size, offset);
- var popup = new SuperMap.Popup.FramedCloud("popwin",
- new SuperMap.LonLat(lonlat.lon, lonlat.lat),
- null,
- resources.text_mouseClickEvent,
- icon,
- true);
- infowin = popup;
- map.addPopup(popup);
- }
- //关闭信息框
- function closeInfoWin() {
- if (infowin) {
- try {
- infowin.hide();
- infowin.destroy();
- }
- catch (e) {
- }
- }
- }
- </script>
- </body>
- </html>
|