首页 / 浏览问题 / 云GIS / 问题详情
以百度地图为底图如何在上面画线?
3EXP 2019年05月16日

做了以百度地图为底图的。

尝试以leatlet api提供的接口画线上去

然后提示

以为是因为百度地图不支持的原因,改成超图云地图还是一样。是不支持直接用原生的吗?

画线代码:

var latlngs = [
    [34, 123],
    [33, 122],
    [33.3, 122.5]
]
var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map);
map.fitBounds(polyline.getBounds());

然后采用官方的那个例子中的方法,编程标绘里面的

        //标绘服务地址
        var plotUrl = "http://support.supermap.com.cn:8090/iserver/services/plot-jingyong/rest/plot/";
//创建一个名为“plottingLayer”的标绘图层。
        var plottingLayer = L.supermap.plotting.plottingLayer("plottingLayer", plotUrl);
//向map中添加标绘图层
        plottingLayer.addTo(map);

告诉我    Uncaught TypeError: Cannot read property 'plottingLayer' of undefined

崩溃!!!!

1个回答

 Uncaught TypeError: Cannot read property 'plottingLayer' of undefined 这个应该是少引用文件了,然后百度地图建议用http://iclient.supermap.io/examples/leaflet/editor.html#baiduLayer这个例子中的去实现,具体想替换不同的地图可以通过js文件中封装百度地图接口的功能去修改url

5,668EXP 2019年05月16日

所以究竟要引用哪些才可以呢?

我看这个示例里面只引用了两个。然后貌似那两个会去把其他文件加进来吧。

按照示例里面写。还是不对。

<script type="text/javascript" include="bootstrap-css" src="../js/include-web.js"></script>
<script type="text/javascript" include="iclient9-plot-leaflet" src="../../dist/leaflet/include-leaflet.js"></script>

示例中所有的文件我都加到本地了。还是不可以呀

另外,

是否必须用L.supermap.plotting.plottingLayer这个方法。不支持leaflet原生?
因为这个图标库实在没搞懂。我只是想简单的改个颜色。没有找到相应的api
...