Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >传单- geoJSON集成(从GeoJSON创建按钮)

传单- geoJSON集成(从GeoJSON创建按钮)
EN

Stack Overflow用户
提问于 2020-02-21 11:13:01
回答 1查看 117关注 0票数 0

(不适用于HW)嗨,我正在运行下面的代码,不知道为什么我的按钮不能创建。而不是按钮应该在哪里,有一些代码片段。我添加了一个javascript函数来为GeoJSON中的每个特性创建按钮,但是看起来该按钮似乎不能正常工作。任何帮助都会很好。我的问题特别提到了从var = geoJSONLayer new开始的代码行。geoJSON层与索引HTML存在于同一个文件夹中。会显示标记,但不能创建按钮。下面的草坪功能也不起作用。

代码语言:javascript
代码运行次数:0
复制
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>First Map</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.1/dist/leaflet.css" />
        <script src="https://unpkg.com/leaflet@1.0.1/dist/leaflet.js"></script>
        <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
        <script src="leaflet-ajax-gh-pages/dist/leaflet.ajax.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/@turf/turf@5/turf.min.js"></script>
        <style>
            #header {
                height: 75px;
                background-color: honeydew;
            }
            #mapdiv {
                height: 850px;
                background-color: gainsboro;
            }
            #side_panel {
                height: 850px;
                background-color: powderblue;
            }
            #footer {
                height: 90px;
                background-color: wheat;
            }
            .attraction{
                margin-bottom: 5px;
                background-color: azure;
            }
        </style>
    </head>
    <body>
        <div id="header" class="col-md-12">
            <hl class="text center">Mexico City</hl>
        </div>
        <div id="side_panel" class="col-md-3">
            <hl class="text center">Attractions</hl>
            <button id="zoomToZocalo" class="form-control btn-primary">Zocalo</button>
            <button id="btnBuffer" class="form-control btn-warning">Buffer</button>
        </div>
        <div id="mapdiv" class="col-md-9"></div>
        <div id="footer" class="col-md-12">
            <h4 id="map_coords" class="text-center">Latitude: 19.4 longitude: -99.1 Zoom Level: 11</h4>
            <h4 class="text-center">&copy;2016 <a href="http://millermountain.com">Miller Mountain LLC</a></h4>
        </div>
        
        <script>
            var mymap = L.map("mapdiv")
            mymap.setView([19.4, -99.1], 12);
            
            var backgroundLayer = L.tileLayer("http://{s}.tile.osm.org/{z}/{x}/{y}.png");
            mymap.addLayer(backgroundLayer);
            
//          var zocaloMarker = L.marker([19.43278, -99.13333]).addTo(mymap).bindPopup("<h3 class='text-center '>Zocalo</h3><a href='https://momento360.com/e/u/f427867d9e6a456a98d614d7e9f5c1ab?utm_campaign=embed&utm_source=other&utm_medium=other&heading=78.71035983306334&pitch=-41.283278407523014&field-of-view=75' target='blank'><img src='https://marriott-hotels.marriott.com/wp-content/uploads/sites/9/2019/08/Marriott_Logo.png' width='100px'></a>");
                        
            $("#zoomToZocalo").click(function(){
                mymap.setView([19.43278, -99.13333], 17);
            });
            
            var geojsonLayer = new L.GeoJSON.AJAX('GeoJSON/attractions.geojson', {pointToLayer: function(feature, latlng) {
                var string = "<button id = 'zoomTo"+feature.properties.name.replace(/ /g, '');
                str += "' class='form-control btn btn-primary attraction'>";
                str += feature.properties.name+"</button>";
                $("#side_panel").append(str);
                
                $("zoomTo"+feature.properties.name.replace(/ /g, '')).click(function(e){
                    mymap.setView([latlng.lat, latlng.lng], 17);
                });
                
                var str = "<h4>"+feature.properties.name+"</h4><hr>";
                str += "<a href='"+feature.properties.web+"' target='blank'>";
                str += "img src='img/"+feature.properties.image+"' width='200px'>";
                str += "</a>";
                return L.marker(latlng).bindPopup(str); 
            }});
            
            geojsonLayer.addTo(mymap);
            
            var bufferLayer;
            $("#btnBuffer").click(function(){
                if ($("#btnBuffer").html()=='Buffer'){
                    var bufferedAttractions = turf.buffer(geojsonLayer.toGeoJSON(), 1, 'miles');
                    bufferLayer = L.geoJSON(bufferedAttractions).addTo(mymap);
                    $("#btnBuffer").html("Remove Buffer");
                } else {
                    mymap.removeLayer(bufferLayer);
                    $("#btnBuffer").html("Buffer");
                }
            });
            
            // 74-79 is a way to add an event handler to the map using a 'mousemove' event //----
            
            mymap.on('mousemove', function(e){var str = "Latitude:"+e.latlng.lat.toFixed(5)+" Longitude: "+e.latlng.lng.toFixed(5)+" Zoom Level: "+mymap.getZoom();
            $("#map_coords").html(str);           
            });
        </script>
    </body>

</html>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-21 11:38:32

leaflet.ajax.js的Src链接中断。你必须把它连接到一个工作的链接上。

替换此标记

代码语言:javascript
代码运行次数:0
复制
<script src="leaflet-ajax-gh-pages/dist/leaflet.ajax.js"></script>

在这方面:

代码语言:javascript
代码运行次数:0
复制
<script src="https://calvinmetcalf.github.io/leaflet-ajax/dist/leaflet.ajax.js"></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60344928

复制
相关文章
ActiveRecord 模型验证
比如:file 验证图片 图片可以为空、类型只能是jpg、png或者gif,最大10M等
友儿
2022/09/11
3860
Yii2 ActiveRecord 模型
在查询、更新、删除的时候,都是用find()方法创建对象。 为了更好地理解save()方法,我们查看一下vendor\yiisoft\yyiw\db\BaseActiveRecord.php代码
友儿
2022/09/11
1.6K0
ActiveRecord
MybatisPlus支持ActiveRecord形式调用,实体类只需继承Model类即可进行强大的CRUD操作
阿超
2022/08/17
2260
ActiveRecord
Windows凭据不工作
如果不是敲错IP、用户名、密码,报凭据不工作,一般情况下执行这几句命令后重启远程服务就正常了
Windows技术交流
2021/06/15
6.1K0
Mybatis-Plus的ActiveRecord
        Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。         ActiveRecord 一直广受动态语言( PHP 、 Ruby 等)的喜爱,而 Java 作为准静态语言, 对于 ActiveRecord 往往只能感叹其优雅,所以 MP 也在 AR 道路上进行了一定的探索
别团等shy哥发育
2023/02/25
4600
Mybatis-Plus的ActiveRecord
【tensorflow】模型加载
.load() 只能加载.npy文件,.restore() 只能加载 ckpt(checkpoint)文件。
JNingWei
2020/04/25
1.3K0
RDP你的凭据不工作/RDP密码不刷新
如果你不属于上述的情况,请查看:https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/troubleshoot/rdp-error-general-troubleshooting#check-whether-a-group-policy-object-gpo-is-blocking-rdp-on-a-local-computer
阿龙w
2022/12/02
12.7K0
RDP你的凭据不工作/RDP密码不刷新
预加载之——js 文件如何实现只加载不执行
性能优化很常见的一个方式是提前加载文件,本文讨论如何在其他依赖未加载情况下提前加载一个.js文件。
前端知知
2022/09/29
6.1K0
[L2]TensorFlow模型持久化~模型加载
通过TensorFlow提供tf.train.Saver类提供的save函数保存模型,生成对应的四个文件,因为TensorFlow将计算图的结构以及图上的变量参数值分开保存,这样能够为模型的载入提供方便的扩展。
触摸壹缕阳光
2019/11/13
7630
WebGL加载本地模型
大部分的webgl框架,比如threejs和babylon等,都可以加载obj和gltf模型。 我们的引擎,基于three封装,同样有加载模型的loader,因此加载obj和gltf模型也是很简单就可以实现的。
用户3158888
2022/05/11
1.9K0
WebGL加载本地模型
PyTorch 实战(模型训练、模型加载、模型测试)
https://github.com/huzixuan1/Loader_DateSet
陶陶name
2022/05/12
2.5K0
128 天不上班不工作:照样领工资 9.5 万
原告:北京和风畅想科技有限公司 被告:杜某,男,1988年出生 和风畅想公司向法院提出诉讼请求: 1、判决无须撤销《解除劳动关系通知书》,双方无需继续履行劳动合同; 2、判决和风畅想公司无须向杜某支付自2020年2月29日至2020年7月5日期间工资收入损失95172.41元。 事实和理由: 2020年11月2日,和风畅想公司收到北京市朝阳区劳动人事争议仲裁委员会作出的京朝劳人仲字[2020]第16281号裁决书(以下简称“第16281号裁决书”),和风畅想公司不服该裁决。 不服裁决理由: 一、第1628
云头条
2022/10/09
2.2K0
128 天不上班不工作:照样领工资  9.5 万
Data Access 之 MyBatis Plus(六)- ActiveRecord
ActiveRecord 是 ORM 的一种实现方式,在 Ruby 和 PHP 中使用较多,ActiveRecord 的特点是模型类的一个实例化对象对应数据库表中的一行记录。
RiemannHypothesis
2022/08/19
7200
Data Access 之 MyBatis Plus(六)- ActiveRecord
mybatisPlus之ActiveRecord模式及SimpleQuery使用
ActiveRecord(活动记录,简称AR),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。ActiveRecord 一直广受解释型动态语言( PHP 、 Ruby 等)的喜爱,通过围绕一个数据对象进行CRUD操作。而 Java 作为准静态(编译型)语言,对于 ActiveRecord 往往只能感叹其优雅,所以 MP 也在 AR 道路上进行了一定的探索,仅仅需要让实体类继承 Model 类且实现主键指定方法,即可开启 AR 之旅。
一个风轻云淡
2023/10/15
4000
NGINX工作进程模型
NGINX有一个master进程(它执行特权操作,如读取配置和绑定到端口)和许多worker and helper进程。
冬夜读书示子聿
2022/01/15
8630
[阿里DIN] 模型保存,加载和使用
Deep Interest Network(DIN)是阿里妈妈精准定向检索及基础算法团队在2017年6月提出的。其针对电子商务领域(e-commerce industry)的CTR预估,重点在于充分利用/挖掘用户历史行为数据中的信息。
罗西的思考
2020/11/24
1.4K0
ClassLoader 类加载器模型
ClassLoader即常说的类加载器,其功能是用于从Class文件加载所需的类,主要场景用于热部署、代码热替换等场景。
BUG弄潮儿
2022/03/08
4360
ClassLoader 类加载器模型
pytorch加载和保存模型
方法一(推荐):第一种方法也是官方推荐的方法,只保存和恢复模型中的参数。保存    torch.save(the_model.state_dict(), PATH)恢复the_model = TheModelClass(*args, **kwargs)the_model.load_state_dict(torch.load(PATH))使用这种方法,我们需要自己导入模型的结构信息。方法二:使用这种方法,将会保存模型的参数和结构信息。保存torch.save(the_model, PATH)恢复the_mod
狼啸风云
2020/05/04
2.6K0
ue4动态加载模型(unity资源加载)
2.假如遇到调试模式下程序运行正常,但是打包出来后程序crash,可以查看log: Saved/Logs/filename/log
全栈程序员站长
2022/07/29
1.5K0
ue4动态加载模型(unity资源加载)
Tensorflow加载预训练模型和保存模型
使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我们需要掌握如何操作这些模型数据。看完本文,相信你一定会有收获!
全栈程序员站长
2022/07/25
1.5K0

相似问题

rails4 activeRecord错误

20

RoR非ActiveRecord模型to_json :不工作除外

10

ActiveRecord::PendingMigrationError [运行rails4]

31

Rails4 Deploy ActiveRecord::AdapterNotSpecified

20

Rails4在初始化后覆盖ActiveRecord模型变量

19
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文