4

L.CircleMarker のツールチップを設定する方法があるかどうか疑問に思っていますか?

var geojsonLayerVessel = new L.GeoJSON(null, {
    pointToLayer: function (latlng){
    return new L.CircleMarker(latlng, {
        radius: 5,
        fillColor: "#ff7800",
        color: "#000",
        weight: 1,
        opacity: 1,
        fillOpacity: 0.8,
        title: "test"
    });
}
}); 

上記のコードを試しましたが、うまくいきません。

4

2 に答える 2

1

これは には機能しませんCircleMarkers。しかし、少し作成して、DivIcon角を丸くしてスタイルを整えることができます。 DivIcon■ オプションはサポートされてい'title'ます。

http://jsfiddle.net/63teycsq/1/

pointToLayer として提供する関数:

function (latlng){
    return L.marker(latlng, 
                    { icon : L.divIcon({ className : 'circle',
                                         iconSize : [ 5, 5 ]}),
                      title: 'test'});
}

そしてdivのスタイリング:

div.circle {
    background-color: #ff7800;
    border-color: black;
    border-radius: 3px;
    border-style: solid;
    border-width: 1px;
    width:5px;
    height:5px;
}
于 2013-01-26T14:18:17.650 に答える
0

GeoJSON レイヤーの場合、この例のように、'featureparse' イベントをリッスンしてポップアップをバインドできます。これらの行に沿ったもの:

var geoJsonLayer = new L.GeoJSON(null,{
pointToLayer: function (latlng){
return new L.CircleMarker(latlng, {
    radius: 5,
    fillColor: "#ff7800",
    color: "#000",
    weight: 1,
    opacity: 1,
    fillOpacity: 0.8,
});

geoJsonLayer.on('featureparse', function(e){
//Now you can bind popups to features in the layer, and you have access to
//attributes on the GeoJSON object through e.properties:
e.layer.bindPopup('Hello! ' + e.properties.someProperty);
});

//now you add some some data to your layer and add it to the map....
geoJsonLayer.addGeoJSON(someGeoJson);
map.addLayer(geoJsonLayer);

お役に立てれば!

于 2012-06-27T20:49:40.573 に答える