在Openlayers 5中使用angular 7通用型
我使用开放层5.3有一个Angular 7.2应用程序.我正在尝试为此应用程序设置Angular Universal,但是当我运行Universal Server(node dist/server.js)时,由于客户端仅定义的变量,例如window. ,我遇到了一些错误. webpack:///./node_modules/ol/has.js?:54 var DEVICE_PIXEL_RATIO = window.devicePixelRatio || 1; ^ ReferenceError: window is not defined 我尝试使用Domino模拟这些变量,但是由于Canvas Element ,它只是在另一个错误中失败 Error: NotYetImplemented at HTMLCanvasElement.exports.nyi (/my/project/dist/server.js) 所有OL代码均在
2 2024-02-21
编程技术问答社区
如何按方法添加标记,openlayers 4, angular 4
我想在我的地图中添加实时位置标记. 作为第一步,我只想在我的地图中显示一个静态点(LAT,LON)或标记,由 addmarker 抑制我的代码中的方法. 这是我的代码: import {Component, OnInit, AfterViewInit, ViewEncapsulation, Input, ElementRef, ViewChilds} from '@angular/core'; import { WmslayerService} from './wmslayer.service'; import { MapService} from './map.service'; import {AddwmslayerService} from '../../menue/addlayer/formlayer/addwmslayer.service'; import * as ol from 'openlayers'; @Component({ selector:
0 2024-02-21
编程技术问答社区
是否可以将Angular组件中的html元素设置为动态创建的组件的子元素,使其打开mat-menu?
我正在尝试实现如何从动态创建的打开图层的按钮中打开MAT-MENU自定义控制? 因此,我想为需要动态创建的开放层自定义控件添加Mat-Menu开瓶器.在原始问题中,有很好的答案,我无法使用,因为我没有地图创建代码的conrol. 所以我有一个带有html的角度弹出式弹出式(app-popup-menu): Item 1 Item 2 在app.component.html中,我只有我没有控制的第三方映射组件和弹出菜单组件:
0 2024-02-20
编程技术问答社区
Ionic-Framework (4)-Openlayers map not working/visible
我尝试使用带有离子的开放式层次,但是直到settimeout才能看到地图. 这是我的工作代码: import { Component, OnInit } from '@angular/core'; import OlMap from 'ol/map'; import OlOSM from 'ol/source/osm'; import OlTileLayer from 'ol/layer/tile'; import OlView from 'ol/view'; import OlProj from 'ol/proj'; @Component({ selector: 'app-tab1', template: ' ', styleUrls: ['tab1.page.scss'] }) export class Tab1Page implements
2 2024-02-20
编程技术问答社区
在Angular 5中使用OpenLayers 4
我正在尝试在Angular 5中使用openlayers 4. 基本上,我只想实现 QuickStart . 到目前为止我所做的事情: npm install ol --save下载OL软件包 angular-cli.json 将这些行添加到anguarl-cli.json中.看到这必须在Stackoverflow上的另一个示例上完成. OL.CSS文件存在. OL.JS文件没有.所以我不知道这是正确的还是错误的方式,但显然无法正常工作. 我的角度项目由3个组成部分组成: -app --console --map --sidebar app.component.css app.compinent.html app.component.spec.ts app.component.ts app.module.ts map.component.html import { Component, OnInit } from '@angu
0 2024-02-20
编程技术问答社区
Cordova/Phonegap在新平板电脑上使用Open Layers时性能缓慢,但在新手机上却很好。
我已经开发了一个应用程序,该应用程序在Android上使用Cordova/Phonegap显示打开图层3地图. 它与此项目非常相似: https://github.com/netgis/ol3 我发现该应用程序在Samsung Note 4运行KitKat v4.4.4上运行顺利,并且在运行Jellybean的旧S2上运行良好(实际上几乎同样出色),但它运行可怕慢慢在麸皮新的Galaxy Tab Pro 12.2运行Kitkat v4.4.2. 我想知道那里是否有Cordova/Phonegap专家可能知道为什么. 我可以看到的唯一区别是Android的版本! v4.4.4和v4.4.2. 我已经在上面发现了线程,因此通常说WebView可能是一个问题并导致性能缓慢,但是我在Note 4上的性能很高,S2的运行量要比平板电脑使用Jellybean更好. 我不确定在此处显示代码是否有用,从本质上讲,我有一个带有单个HTML文档的Cordova An
0 2024-02-09
编程技术问答社区
如何在Android上显示自定义地图
我正在尝试制作一个显示公园地图的Android应用程序,当用户点击地图上的某个位置时,该应用程序将转到另一个屏幕. 问题是,目前我的公园地图为.jpg格式.哪个映射API最适合我的应用程序,以及如何将此.jpg地图转换为API接受的格式. 谢谢! 解决方案 使用自定义地图添加一个Google Map的覆盖层非常容易执行,示例代码可以从包装盒中使用. 要覆盖地图,您需要对公园的GPS坐标有一个粗略的了解.这里有使用JPG的叠层示例代码:https://code.google.com/p/android-maps-extensions/source/browse/google-play-services-samples/src/com/example/mapdemo/doctoverlaydemoactivity.java?r = fd7175206a82da6d87b7773e968d52849b49b4c107fb 克隆整个项目并将其导入Eclipse:
10 2024-02-06
编程技术问答社区
安卓中的OpenLayers
在使用Android中使用开层之前,有人尝试过吗?那怎么了?是通过浏览器在某个地址访问还是使用WebView嵌入本地独立的Android应用程序?或其他方法. 如果与此主题有关的任何引用,请在此处添加它们. 谢谢 解决方案 该主题的小更新 - 当前发布的OL支持移动设备的版本. 其他解决方案 OpenLayers的当前版本(2.10)不支持移动浏览器.新版本(2.11)虽然非常接近发布,并且如果您包括TRUNK的开发版本的开发版本,则可以为移动设备提供支持.如果您像往常一样访问它,它肯定有效,如果它嵌入了WebViews中,则应工作. 您可以在这里自己尝试:只需在搜索字段中键入'Mobile',您将获得几个示例,您可以在其中看到移动导航,编辑等如何在Android和iOS上使用. 其他解决方案 YO可以尝试使用OpenLayers最新移动版本(
2 2024-02-03
编程技术问答社区
OpenLayers 4-适合于所选特征的范围
我再次.因此,昨天我遇到了缩放选定功能的问题,我希望你们中有些人可以向正确的方向推动我. 我正在尝试使用Motitalize 示例 $(document).ready(function(){ $('input.autocomplete').autocomplete({ data: { "Apple": null, "Microsoft": null, "Google": 'https://placehold.it/250x250' }, }); }); 现在,我要做的是使用Geojson功能调用和填充数据,并为选定的功能实现拟合.如果我正确理解,我需要为选定功能节省范围,并使用 将其传递给它. map.getView().fit(selectedFeature.getSource().getExtent(), animationOptions); 还是我做错了什么? $(
4 2024-01-20
编程技术问答社区
如何在angular项目中包含popper.js和bootstrap.js
我正在使用Angular和openlayers,我遵循下面在链接中发布的示例: https://openlayers.org/en/latest/examples/overlay.html 上述链接提供以下信息以与弹出案一起使用: Things to know when using the popover plugin: Popovers rely on the 3rd party library Popper.js for positioning. You must include popper.min.js before bootstrap.js or use bootstrap.bundle.min.js / bootstrap.bundle.js which contains Popper.js in order for popovers to work! 请让我知道如何包括 popper.js 和 bootstrap.js
0 2024-01-16
编程技术问答社区
即使使用mathrandom,IE8仍然在缓存我的请求
tldr IE即使在URL中包含Math.random()即使在我的请求中仍在缓存. 所以我在URL的末尾添加了数学随机: var MYKMLURL = 'http://' + host + 'data/pattern?key='+ Math.random(); 我还将数学随机添加到我的函数参数: window.setTimeout(RefreshPatternData, 1000, MYKMLLAYER); function RefreshPatternData(layer) { layer.loaded = false; layer.setVisibility(true); layer.refresh({ force: true, params: { 'key': Math.random()} }); setTimeo
0 2024-01-15
编程技术问答社区
OpenLayers: 为标记添加一个(css-)类?
g'day! 我想在我的OpenLayers地图上的每个标记中添加一个唯一的(CSS-)类,但我不知道如何!我尝试了几乎所有事情,还在 function ownMarker(lon,lat,icon,markerid) { var size = new OpenLayers.Size(38,58); var offset = new OpenLayers.Pixel(-(size.w/2), -size.h); var element = new OpenLayers.Element.addClass('div', 'test'); var icon = new OpenLayers.Icon('images/marker/'+ icon +'.png', size, offset); var marker = new OpenLayers.Marker((new OpenLayers.LonL
2 2024-01-15
编程技术问答社区
如何获得OpenLayers中选定特征的事件或DOM元素
我正在实现openlayers selectFeature控件,并尝试将jQuery UI对话框窗口小部件放在所选功能的顶部.要使用jQuery UI位置实用程序,它需要DOM元素或事件. SelectFeature控件的OnSelect回调给我一个openlayers.feature.feature.vector对象,代表所选功能.由此,如何获得所选功能的DOM元素或单击事件的事件对象? var selectControl = new OpenLayers.Control.SelectFeature(clientsLayer, { hover : false, clickout: false, multiple: false, onSelect: function(feature) { // how do I get the DOM ele
0 2024-01-14
编程技术问答社区
绘制动画的Openlayers线绳路径
我在,有人在使用openlayers的绘制路径上是否可以使用openlayers进行类似的动画? 以下小提琴显示了衬里var map = new OpenLayers.Map( 'map', {theme:null, controls:[new OpenLayers.Control.Navigation()]} ); layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} ); map.addLayer(layer); map.setCenter([3, 49], 5); var startPt=new OpenLayers.Geometry.Point( 2, 45); var endPt=new OpenLayers.Geometry.Point(7,55); //make the line: var line=
4 2024-01-13
编程技术问答社区
在Openlayers 3中把运行时的maxZoom选项改为ol.View
一旦激活了地图的功能, im试图更改Maxzoom选项.因此,它必须在运行时,因此可以回到原始的maxzoom. 创建ol.iw您像这样配置此参数: new ol.View({ ... zoom: 10, maxZoom: 17, minZoom: 10, }); 但是,API仅允许使用 解决方案 您可以通过完全更改地图的视图来完成此操作: map.setView(new ol.View({ zoom: 10, maxZoom: 17, minZoom: 10, })); 编辑: a jsfiddle 测试解决方案
12 2023-12-26
编程技术问答社区
在非常高的缩放率下显示瓷砖层
我试图从GIBS Images Server显示每日MODIS卫星图像 var getTileUrl = function(tile, zoom) { return "http://map1.vis.earthdata.nasa.gov/wmts-webmerc/" + "MODIS_Terra_CorrectedReflectance_TrueColor/default/" + get_date() + "/" + "GoogleMapsCompatible_Level9/" + zoom + "/" + tile.y + "/" + tile.x + ".jpeg"; }; var layerOptions = { alt: "MODIS_Terra_TrueColor",
2 2023-12-26
编程技术问答社区
Javascript OpenLayers 缩放前事件监听器
我正在尝试设置开放层,以在变焦启动之前不显示矢量层,并在变焦结束后重新出现.我已经建立了这样的变焦末端部分: map = new OpenLayers.Map('map_element', { eventListeners: { "zoomend": mapEvent}}); function mapEvent(event) { if(event.type == "zoomend") { hide_vector_layer(); } } ,但是我看不到文档中缩放的任何事件侦听器.有一个" movestart"覆盖移动,平移和变焦.不幸的是,我无法使用" movestart"一个,因为我不希望该图层在锅中消失.您会认为会有一个" Zoomstart",因为有一个" Zoomend". 我尝试这样做的原因是因为我不喜欢使用Google Maps作为基层的矢量层如何以不同的速度缩放.看起来错了,看起来所有功能都不准确,即使它们在变焦完成
0 2023-12-26
编程技术问答社区
OpenLayers中的最小/最大缩放级别
我正在使用OpenLayers在网页中显示地图.我正在使用Cloudmade的瓷砖,但是来自OpenStreetMap的Mapnik瓷砖也出现了同样的问题. 我正在尝试限制地图,以便用户无法将一路缩小到世界视图 - 我希望他们至少保持在城市级别的缩放. 我尝试使用minZoomLevel/maxZoomLevel/numZoomLevels属性; maxZoomLevel和numZoomLevels属性似乎有效,而minZoomLevel属性似乎完全忽略了. 有其他方法可以实现吗? 解决方案 MinZoomlevel不支持XYZ层,其中OSM是一个子类. 请参阅以下门票: 应用缩放偏移) 添加MinZoomlevel补丁) 其他解决方案 您可以覆盖isValidZoomLevel函数.这样的东西(未测试): OpenLayers.Map.isValidZoomLevel = function(zoomLevel) { retur
12 2023-12-26
编程技术问答社区