Как устранить ошибку при использовании tomtom mapfit?

Согласно этому руководству:https://developer.tomtom.com/blog/build-different/adding-tomtom-maps-django-app-building-front-end-map Я пытаюсь использовать tomtom для моего проекта django и все работает хорошо, кроме части масштабирования, где карта должна увеличиваться в соответствии с координатами, которые я ей дал. Ошибка, которую я получаю в журнале консоли explorer, выглядит так:

Uncaught (in promise) Error: `LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]

Код, который я пытался выполнить:

     // create the map
        tt.setProductInfo('Google Map', '1.0');
       let map = tt.map({
           key: 'uQInAdnkd8siEnOQdsXUcFi36iHwrgGF',
           container: 'map'
       });

       // add store markers
       let bounds = []
       let storeLocations = JSON.parse("{{ locations|escapejs }}");

       for (let storeLocation of storeLocations) {
           let coordinates = [storeLocation.longitude, storeLocation.latitude];
            bounds.push(coordinates);

           // create popup to display store information when the marker is clicked
           let popup = new tt.Popup().setHTML(`
               <div class="locator-popup">
                   <h6>Store Name</h6>
                   <p>${storeLocation.name}</p>
                   <h6>Address</h6>
                   <p>${storeLocation.address}</p>
               </div>
           `);

           let marker = new tt.Marker()
               .setLngLat(coordinates)
               .setPopup(popup)
               .addTo(map);
       }

       // zoom the map to fit all markers
        map.on('load', () => {
            console.log(bounds)
            map.fitBounds(bounds, {
               padding: { top: 50, bottom:50, left: 50, right: 50 }
           });
       })

Примечание: Я подумал, что это может быть из-за 'bounds'. Итак, проверил вывод 'console.log(bounds)' и результат таков:

[Array(2)]
0: (2) [51.34912743809577, 35.701243277665895]
length: 1
lastIndex: (...)
lastItem: (...)
[[Prototype]]: Array(0)

Карта должна увеличиваться во время загрузки

fitBounds() нужны два угла - юго-западная и северо-восточная точки. Эта ошибка более или менее говорит о том, что она не получила аргумент LngLatLike. Но на самом деле их нужно два.

Итак, чтобы исправить код - если у вас есть одно хранилище в массиве, то вы можете продублировать это место в массиве границ.

Что-то вроде:

if (bounds.length = 1) {
  bounds.push(bounds[0])
}
Вернуться на верх