当前位置: 首页 > 知识库问答 >
问题:

映射框标记未显示-URL处的GeoJson

诸葛雨泽
2023-03-14

我试图将我的GeoJson从内联jcript移动到一个URL,以评估它如何提高具有大量标记(3,000)的地图的性能。然而,我一直无法让我的标记显示在地图上,并希望有一双新的眼睛。我的测试页面的url在这里:http://webapps.fhsu.edu/ksherp/testmapbox.aspxGeoJson文件链接

     <script>
            mapboxgl.accessToken = 'pk.eyJ1IjoidHRhZ2dhcnQiLCJhIjoiY2lwZmp0emR2MDA1YnRhbmQ2aW8xdm9wZCJ9.XMq3bMhOjRit7wR3q7oIgQ';
            var map = new mapboxgl.Map({
                container: 'map', // container id
                style: 'mapbox://styles/ttaggart/cj3ohbccw00192rlrtj18zdmv', //stylesheet location
                center: [-98.328809, 38.5], // starting position
                zoom: 5 // starting zoom
           // , maxZoom: 8 // limit max zoom extent
            });

            var url = 'http://webapps.fhsu.edu/ksherp/geojson/3.geojson';
            map.on('load', function () {
                window.setInterval(function () {
                    map.getSource('markers').setData(url);
                }, 2000);

                map.addSource('markers', { type: 'geojson', data: url });

                map.addLayer({
                    "id": "markers",
                "type": "symbol",
                "source": "markers",
                "layout": {
                "icon-image": "{marker-symbol}-11"
                }
                });
            });

            // When a click event occurs near a marker icon, open a popup at the location of
            // the feature, with description HTML from its properties.
            map.on('click', function (e) {
                var features = map.queryRenderedFeatures(e.point, { layers: ['markers'] });
                if (!features.length) {
                    return;
                }
                var feature = features[0];
                // Populate the popup and set its coordinates
                // based on the feature found.
                var popup = new mapboxgl.Popup()
                    .setLngLat(feature.geometry.coordinates)
                    .setHTML(feature.properties.description)
                    .addTo(map);
            });
            // Use the same approach as above to indicate that the symbols are clickable
            // by changing the cursor style to 'pointer'.
            map.on('mousemove', function (e) {
                var features = map.queryRenderedFeatures(e.point, { layers: ['markers'] });
                map.getCanvas().style.cursor = (features.length) ? 'pointer' : '';
            });
            map.addControl(new mapboxgl.NavigationControl());
            map.addControl(nav, 'top-right');

共有1个答案

司徒锐进
2023-03-14

您的测试页面不工作,它在“/ksHerp”应用程序中显示服务器错误。。

使用您的代码而不进行修改,我在显示标记时没有任何问题:

如果您的页面再次工作,并且您仍然存在此问题,如果由于CORS错误或使用混合内容(超文本传输协议/https)的某些浏览器限制而未加载GeoJSON文件,您可以检查浏览器控制台。一些可能有用的链接:

https://www.mapbox.com/help/cors-errors/

如何让Chrome允许混合内容?

 类似资料:
  • 我正在使用HTML编写一个非常简单的网站。我已经在源代码中插入了我的标题名,但它没有显示在URL上。请在此处输入图像说明

  • Nutz.Mvc 的核心任务就是将 HTTP 请求的 URL 映射到某一个入口函数,如果你看完了 Nutz.Mvc 概述 你大概应该知道,映射的配置信息是通过注解 @At 来设置的,@At 注解也非常简单,配置起来应该没有什么障碍。 但是,依然在某些时候,你会在你的应用出现 404 错误,为了能让你在编写项目是,心里非常有底,这里将详细的解释一下 JSP/Servlet 以及 Nutz.Mvc 映

  • 现在我们已经有了前面章节中解释的工作视图。 我们想通过URL访问该视图。 Django有自己的URL映射方式,它是通过编辑项目url.py文件(myproject/url.py) 。 url.py文件看起来像 - from django.conf.urls import patterns, include, url from django.contrib import admin admin.au

  • 前端将这个json发送到我的API 控制器:

  • 我遇到了一些问题,无法理解URL映射是如何为servlet工作的。 我在网上看了很多教程和帖子,但没有运气。 所以,假设我有一个servlet(welcomeServlet.java)、一个索引页(index.html)和我的web.xml文件。 java文件在src目录中,而index.html在WebContent目录中。 我的索引页将由web.xml调用,并将显示一个按钮,一旦按下该按钮,将

  • 主要内容:整理网址,它是如何做的呢?,,发送参数到视图现在,我们有一个工作视图在前面的章节中解释。我们希望通过一个URL来访问该视图。 Django有他自己 URL映射的方式,现在我们来编辑项目中的 url.py 文件(myproject/url.py)完成。url.py 文件内容看起来如下: 当用户在您的网络应用程序发起一个网页的请求,Django控制器会接管通过url.py文件来寻找相应的视图,然后返回HTML响应或如果没有找到则返回404未找到