как подключится к openstreetmap через API? я реально не могу найти нормальной инфы. Мне надо подключится и поставить гео точки
<?
function get_saved_locations(){
$con=mysqli_connect ("localhost", 'root', '','locations');
if (!$con) {
die('Not connected : ' . mysqli_connect_error());
}
$sqldata = mysqli_query($con,"select lng,lat from locations ");
$rows = array();
while($r = mysqli_fetch_assoc($sqldata)) {
$rows[] = $r;
}
$indexed = array_map('array_values', $rows);
// $array = array_filter($indexed);
echo json_encode($indexed);
if (!$rows) {
return null;
}
}
?>
<script>
var map = L.map( 'map', {
center: [57.08231,25.24116],
minZoom: 1.5,
zoom: 7
})
L.tileLayer( 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: ['a', 'b', 'c']
}).addTo( map )
var myURL = jQuery( 'script[src$="leaf-demo.js"]' ).attr( 'src' ).replace( 'leaf-demo.js', '' )
var myIcon = L.icon({
iconUrl: myURL + 'images/pin24.png',
iconRetinaUrl: myURL + 'images/pin48.png',
iconSize: [29, 24],
iconAnchor: [9, 21],
popupAnchor: [0, -14]
})
for ( var i=0; i < markers.length; ++i ){
L.marker( [markers[i].lat, markers[i].lng], {icon: myIcon} )
.addTo( map );
</script>
Это всё работает , но это вывод для JSON, а мне надо из базы данных MYSQL, там всего 2 колонки lat lng
<?
$con=mysqli_connect ("localhost", 'root', '','locations');
if (!$con) {
die('Not connected : ' . mysqli_connect_error());
}
// update location with location_status if admin location_status.
$sqldata = mysqli_query($con,"select lng,lat from locations ");
$rows = array();
while($r = mysqli_fetch_assoc($sqldata)) {
$rows[] = $r;
}
?>
var tempArray = JSON.parse("[<?echo $r?>]");
OSM это не движок, это данные(тайлы).
Используйте например leaflet, это карты 2д, с достаточно простым API, вот пример OSM:
var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
var osmLayer = new L.TileLayer(osmUrl, {
maxZoom: 18
});
var pt = new L.LatLng(60, 30.3);
var map = new L.Map('map', {
center: pt,
zoom: 12,
layers: [osmLayer]
});
L.marker(pt).addTo(map)
.bindPopup('Кто тут ??')
.openPopup();
body {
margin: 0;
overflow: hidden;
}
#map {
position: fixed;
width: 100%;
height: 100%;
}
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css"/>
<script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"></script>
<div id="map"></div>
другой мой пост с поверхностным сравнением разных Web карт и глобусов
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Выбрасывает ошибку Class App\Http\App\Http\Middleware\RedirectIfNotAAdmin does not existС чем может быть связано?
Не могу понять как сделать функцию для моментального разрыва соединения с серверомЯ читал что нужно использовать ob_start(); ob_end_flush(); flush(); и т
Я создал функционал, чтобы звонить из браузера на указанный номер телефонаИ в dial plan мне нужно взять из клиента DTMF и обратно вернуть браузеру...
мне нужно , чтоб появлялись точки на карте , использую строчку (ниже) то всё ок , а точек очень много и все хранятся в бд и я не могу результаты...