/** * [ONEMAP.M.gcmsTrajectory] * @return {[object]} */ define(function() { //数据存放和外部调用 var modValue = { options: {}, mapDrawGroup: null, }; /** * 模块初始化 * @return {[type]} [description] */ function init(options) { if(options.type!="all"){ remove(); } modValue.mapDrawGroup = map23DControl.group({ action: 'add' }); modValue.options = {}; for (var op in options) { modValue.options[op] = options[op]; } //订阅推送 subscribe(); //modValue.mapDrawGroup.addTo(_map); //获取内容数据 getDetailData({ callback: function() { showDrawLayer(); } }); } /** * 坐标反转 * @param {[type]} latlngsAry [description] * @return {[type]} [description] */ function latLngsToReverse(latlngsAry) { var tempLatlngsAry = JSON.parse(JSON.stringify(latlngsAry)); if (!$.isArray(tempLatlngsAry[0])) { return tempLatlngsAry.reverse(); } else { $(tempLatlngsAry).each(function(index, el) { tempLatlngsAry[index] = latLngsToReverse(el); }); } return tempLatlngsAry; }; function getDetailData(options) { ONEMAP.V.loading.load(); $.ajax({ url: onemapUrlConfig.gcmsServiceUrl + '/show/' + modValue.options['column_name'] + '/' + modValue.options['article_id'], type: "GET", dataType: 'json' }) .done(function(data) { ONEMAP.V.loading.loaded(); if (data.code == 4) { ONEMAP.T.noPermission('getDetailData'); } if (data.code == 3) { ONEMAP.T.logout('getDetailData'); } ONEMAP.D.gcmsCurArticleData = data['data']; options.callback(); }) .fail(function() { ONEMAP.V.loading.loaded(); }); } /** * 显示标注内容 * @return {[type]} [description] */ function showDrawLayer() { var mapDrawData = JSON.parse(ONEMAP.D.gcmsCurArticleData['record'][modValue.options['field_name']]); var lineArray = []; if (mapDrawData['features'].length > 0) { $(mapDrawData['features']).each(function(index, el) { if(modValue.options.showMarker){ buildMarker(el); } lineArray.push(el.geometry.coordinates); }); buildPolyline(lineArray); map2DViewer.map.fitBounds(map2DViewer.groups[modValue.mapDrawGroup].getBounds()); } else { ONEMAP.C.publisher.publish({ type: 'warning', message: '没有标注数据' }, 'noteBar::add'); } } //打点 function buildMarker(options) { var popupHtml = '