Leaflet 以JSON作为文本的单张弹出窗口

Leaflet 以JSON作为文本的单张弹出窗口,leaflet,Leaflet,出于调试目的,我希望我的标记有一个包含json的弹出窗口 该值类似于: var CarState= { "height" : 6.2, "width" : 7.3, "length" : 9.1, "color" : { "r" : 255, "g" : 200, "b" : 10 } } 但这不起作用,我得到的只是一个截断的弹出窗口。CarState的内容在不断变化,但同样的属性包也存在 注:self是指

出于调试目的,我希望我的标记有一个包含json的弹出窗口

该值类似于:

var CarState= {
    "height" : 6.2,
    "width" : 7.3,
    "length" : 9.1,
    "color" : {
        "r" : 255,
        "g" : 200,
        "b" : 10
    }
}
但这不起作用,我得到的只是一个截断的弹出窗口。CarState的内容在不断变化,但同样的属性包也存在

注:self是指该代码所在的AMD模块。我不用这个,因为你会有麻烦的。self.pop是一个保存L.pop的变量

this.update = function () {
    var text = "<p>" + JSON.stringify(CarState) + "</p>";
    self.pop.setContent(text);
    self.pop.update();
}
this.update=函数(){
var text=“”+JSON.stringify(CarState)+“

”; self.pop.setContent(文本); self.pop.update(); }
下面是它的外观:

下面是Chrome显示的弹出div大小:


好的,这对我来说很有用。不完全确定问题出在哪里

    this.update = function () {
        var text = "<pre><code>" + JSON.stringify(CarState, null, '\t') + "</code></pre>";
        theCar.setPopupContent(text);
        theCar.update();
        theCar.setLatLng(L.latLng(CarState.lat, CarState.lon));
        theMap.panTo(L.latLng(CarState.lat, CarState.lon));
    }
"; 车辆设置PopupContent(文本); theCar.update(); theCar.setLatLng(L.latLng(CarState.lat,CarState.lon)); 地图panTo(L.latLng(CarState.lat,CarState.lon)); }
请您澄清一下您的
self
pop
变量是什么?请注意,您可以使用marker方法直接更新弹出窗口的内容。我认为弹出窗口HTML会在下一次打开时更新。是的,一个演示/小提琴将有助于解决此问题。但我正在获取真实设备的lat/lon和旋转那是发送gps,所以我不能做JSFIDLE。