Estoy tratando de obtener la ubicación actual del usuario e implementarla en el mapa de mi folleto, o simplemente repetirla con PHP.
sólo un problema... No sé cómo hacerlo correctamente.
actualmente, obtengo la ubicación del usuario a través de la dirección IP, pero cuando alojo en mi servidor, solo recupera la ubicación del servidor (que debo evitar):
<?php $query = @unserialize(file_get_contents('http://ip-api.com/php/')); if($query && $query['status'] == 'success'){ echo 'Your City is ' . $query['city']; echo '<br />'; echo 'Your State is ' . $query['region']; echo '<br />'; echo 'Your Zip Code is ' . $query['zip']; echo '<br />'; echo 'Your Coordinates are ' . $query['lat'] . ', ' . $query['lon']; } ?>por favor ayuda :) explica simplemente
aquí está el código para el mapa del folleto:`
<!-- Map--> <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" crossorigin=""></script> <!-- Available tile layers--> <script src="js/map-layers.js"></script> <script src="js/map-detail.js"></script> <script> createDetailMap({ mapId: 'detailMap', mapZoom: 14, mapCenter: [-42.40916, 172.83898], circleShow: true, circlePosition: [-42.40916, 172.83898] }) </script> <div class="text-block"> <h5 class="mb-4">Listing location</h5> <div class="map-wrapper-300 mb-3"> <div class="h-100" id="detailMap"></div> </div>`
Puede utilizar la API de geolocalización de Leaflet. Aquí el tutorial oficial.
function onLocationFound(e) { var radius = e.accuracy; L.marker(e.latlng).addTo(map) .bindPopup("You are within " + radius + " meters from this point").openPopup(); L.circle(e.latlng, radius).addTo(map); } map.on('locationfound', onLocationFound); map.locate({setView: true, maxZoom: 16});