Создаю приложение с использованием Яндекс Карт. Суть: получение из БД координат и показ точек на карте. Карты и подключение к БД по отдельности работают корректно. Но когда делаю подключение к БД до создания карты, то на карте не отображаются точки. Если подключаюсь к БД после создания карты, точки есть, но в консоли браузера ошибка “Uncaught TypeError: Net.connect is not a function”
Код:
const mysql = require('mysql2');
let sqlArr = [];
const conn = mysql.createConnection({
host: "localhost",
user: "логин сервера",
database: "база данных",
password: "пароль",
port: 3307
});
conn.connect(function (err) {
if (err) {
return console.error("Ошибка: " + err.message);
}
else {
console.log("Подключение к серверу MySQL успешно установлено");
}
});
let query="SELECT * FROM test";
conn.query(query, (err, result, field) =>{
console.log(result);
sqlArr = result;
});
ymaps.ready(init);
let placemarks = [
{
latitude: 59.97,
longitude: 30.31,
hintContent: 'This is hint',
balloonContent: 'This is balloon'
},
{
latitude: 59.95,
longitude: 30.31,
hintContent: 'This is hint2',
balloonContent: 'This is balloon2'
},
{
latitude: 59.96,
longitude: 30.31,
hintContent: 'This is hint2',
balloonContent: 'This is balloon2'
}
];
let geoObjects = [];
function init(){
let map = new ymaps.Map("map", {
center: [59.94, 30.32],
zoom: 12,
controls: ['zoomControl'],
behaviors: ['drag']
});
for(let i = 0; i < placemarks.length; i++){
geoObjects[i] = new ymaps.Placemark([placemarks[i].latitude, placemarks[i].longitude],
{
hintContent: placemarks[i].hintContent,
balloonContent: placemarks[i].balloonContent
},
{
iconLayout: 'default#image'
},
{
iconContent: 'Hello'
}
);
};
let clusterer = new ymaps.Clusterer({});
map.geoObjects.add(clusterer);
clusterer.add(geoObjects);
}
Использую NodeJS + Parcel