(L.MapMarker and L.ArcedPolyline)
ライブラリを使用して反応コンポーネントにレイヤーを追加しようとするとLeaflet-Dvf
、次のエラーが発生します。
Uncaught TypeError: Cannot read property 'call' of undefined(…)
リーフレット dvf 参照: https://github.com/humangeo/leaflet-dvf
考えられるすべての依存関係を試してみましたが、それでも同じエラーが発生しました。プレーンな html の同じコードは正常に動作しますが、React コンポーネントでのみエラーが発生します。
以下はコードです:
import React from 'react';
import ReactDOM from 'react-dom';
import '../../../node_modules/leaflet-dvf/dist/css/dvf.css';
import stylingMap from "../scss/decisionmaking.scss";
import { Map, Marker,Path } from 'leaflet-dvf';
import '../../../node_modules/leaflet-polylinedecorator/leaflet.polylineDecorator.js';
import '../../../node_modules/leaflet-dvf/src/leaflet.dvf.markers.js';
const Decision = React.createClass({
componentDidMount() {
this.map();
},
map() {
var map = L.map('map').setView([2, 20], 2);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">'
}).addTo(map);
var marker = new L.MapMarker(new L.LatLng(20.593684, 78.96288), {
radius: 10,
});
map.addLayer(marker);
var arcedPolyline = new L.ArcedPolyline([[20.593684, 78.96288],[37.09024,-95.712891]],{
distanceToHeight: new L.LinearFunction([0, 5], [800, 200]),
color: 'blue',
weight: 2
});
map.addLayer(arcedPolyline);
render: function() {
return (
<div className="decisionmaking">
<div id='map' style={{height:500+"px", width:900+"px"}}></div>
</div>
);
}
});
module.exports = Decision;