ошибка листовки: this.callInitHooks не является ошибкой функции? - PullRequest
0 голосов
/ 30 апреля 2020

Я использую буклет v1.5.1. Ошибка от Chrome:

листовка. js: 5 Uncaught TypeError: this.callInitHooks не является функцией в Object.i [as Marker] (leaflet. js: 5 ) at map1Rose2. php: 77

Ниже приведен минимальный код, который воспроизведет проблему в Chrome. Я не вижу проблемы с функцией. Ошибка появляется в первом 'var' (строка 77) в. Я подталкивал и ткнул в эту вещь до изнеможения, у кого-нибудь есть идея?

<!DOCTYPE html>

<html lang="en">
<head>

    <title>NCM Map of Station Locations</title>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="shortcut icon" type="image/x-icon" href="images/favicon-32x32.png" >

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 

    <!-- ******************************** Load LEAFLET from CDN *********************************** -->
   <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css"
  integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
  crossorigin=""/>
  <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js"
  integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og=="
  crossorigin=""></script>
     <!-- ********************************* End Load LEAFLET **************************************** -->

     <!-- ******************************** Load ESRI LEAFLET from CDN ******************************* -->
     <script src="https://unpkg.com/esri-leaflet@2.2.4/dist/esri-leaflet.js"
    integrity="sha512-tyPum7h2h36X52O2gz+Pe8z/3l+Y9S1yEUscbVs5r5aEY5dFmP1WWRY/WLLElnFHa+k1JBQZSCDGwEAnm2IxAQ=="
    crossorigin=""></script>

    <!-- Load Esri Leaflet Geocoder from CDN -->
    <link rel="stylesheet" href="https://unpkg.com/esri-leaflet-geocoder@2.2.14/dist/esri-leaflet-geocoder.css"
    integrity="sha512-v5YmWLm8KqAAmg5808pETiccEohtt8rPVMGQ1jA6jqkWVydV5Cuz3nJ9fQ7ittSxvuqsvI9RSGfVoKPaAJZ/AQ=="
    crossorigin="">
    <script src="https://unpkg.com/esri-leaflet-geocoder@2.2.14/dist/esri-leaflet-geocoder.js"
    integrity="sha512-uK5jVwR81KVTGe8KpJa1QIN4n60TsSV8+DPbL5wWlYQvb0/nYNgSOg9dZG6ViQhwx/gaMszuWllTemL+K+IXjg=="
    crossorigin=""></script>   

    <!-- ******************************** End ESRI LEAFLET ***************************************** -->

     <!-- ******************************** Added Functionality *************************************** -->
    <link rel="stylesheet" href="css/leaflet_numbered_markers.css" />
    <link rel="stylesheet" href="css/L.Grid.css" />   
    <link rel="stylesheet" href="css/L.Control.MousePosition.css" />
    <link rel="stylesheet" href="css/control.w3w.css" />

    <link rel="stylesheet" href="https://ppete2.github.io/Leaflet.PolylineMeasure/Leaflet.PolylineMeasure.css" />
    <link rel="stylesheet" type="text/css" href="css/maps.css">

    <link rel="stylesheet" type="text/css" href="css/leaflet/leaflet.contextmenu.min.css">

    <script src="js/leaflet_numbered_markers.js"></script>
    <script src="js/L.Grid.js"></script>   <!-- https://github.com/jieter/Leaflet.Grid -->
    <script src="js/L.Control.MousePosition.js"></script>  <!-- https://github.com/ardhi/Leaflet.MousePosition -->

    <script src="https://cdnjs.cloudflare.com/ajax/libs/OverlappingMarkerSpiderfier-Leaflet/0.2.6/oms.min.js"></script>
    <script src="js/control.w3w.js"></script>
    <script src="https://ppete2.github.io/Leaflet.PolylineMeasure/Leaflet.PolylineMeasure.js"></script>

    <script src="js/leaflet/leaflet.contextmenu.min.js"></script>

    <script src="https://unpkg.com/leaflet.maidenhead@1.0.0/src/maidenhead.js"></script>

    <script src="https://cdn.jsdelivr.net/npm/leaflet-geometryutil@0.9.1/src/leaflet.geometryutil.min.js"></script>

    <!-- https://github.com/Turfjs/turf -->
    <script src="https://cdn.jsdelivr.net/npm/@turf/turf@5/turf.min.js"></script>

    <style>
    </style>

</head>
<body>

<!-- the map div holds the map -->
<div id="map"></div>

<script>
    var WA0TJT = L.Marker(new L.LatLng(39.202911,-94.602887),{
        contextmenu: true,
        contextmenuWidth: 140,
        contextmenuItems: [{ text: 'Click here to add mileage circles', callback: circleKoords}],               
        icon: new L.NumberedDivIcon({number: '1' }),
        title:"marker_1" }).addTo(fg).bindPopup("1<br><b>ID: #0013</b><br>WA0TJT<br>Keith Kaiser<br>Platte  Co., MO Dist: A<br>39.202911, -94.602887<br>EM29QE").openPopup();

    var KA0OTL = L.Marker(new L.LatLng(39.233702,-94.635126),{
        contextmenu: true,
        contextmenuWidth: 140,
        contextmenuItems: [{ text: 'Click here to add mileage circles', callback: circleKoords}],               
        icon: new L.NumberedGreenDivIcon({number: '2' }),
        title:"marker_2" }).addTo(fg).bindPopup("2<br><b>ID: #0025</b><br>KA0OTL<br>Jeff Libby<br>Platte  Co., MO Dist: A<br>39.233702, -94.635126<br>EM29qf").openPopup();

/*              
var map = L.map('map', {
    center: [39.73, -104.99],
    zoom: 10,
    layers: [base, pois]
});
*/

var fg = new L.featureGroup();

function circleKoords(e) { };

</script>

</body>
</html>

1 Ответ

1 голос
/ 30 апреля 2020

Вы должны позвонить new L.Marker() или L.marker()

Чтобы исправить вторую ошибку (в комментариях), вам нужно сначала определить свою группу объектов, а затем создать маркеры.

var fg = new L.featureGroup();

var WA0TJT = L.Marker(new L.LatLng(39.202911,-94.602887),{
        contextmenu: true,
        contextmenuWidth: 140,
        contextmenuItems: [{ text: 'Click here to add mileage circles', callback: circleKoords}],               
        icon: new L.NumberedDivIcon({number: '1' }),
        title:"marker_1" }).addTo(fg).bindPopup("1<br><b>ID: #0013</b><br>WA0TJT<br>Keith Kaiser<br>Platte  Co., MO Dist: A<br>39.202911, -94.602887<br>EM29QE").openPopup();

также вы ничего не увидите на карте, потому что вы не добавили свою группу объектов на карту. И вам нужен экземпляр карты.

var map = L.map('map', {
...
});
fg.addTo(map);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...