Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Aiuto: geolocalizzazione

    Buongiorno programmatori,
    Ho un problema con la geolocalizzazione, ho creato una pagina .php che rileva l' attuale posizione di chi si connette al mio sito, adesso però dovrei , all ' apertura della mappa trovare tutte le autoscuole che sono nostre clienti nelle vicinanze della posizione dell'utente, come estrarre l ' indirizzo delle autoscuole tramite .php dal server ci posso arrivare, ma non ho idea di come si faccia a far spuntare tutti gli indirizzi trovati intorno alla posizione dell' utente tramite il tipico simbolino di googleMaps,
    Consigli?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Sei in grado intanto di recuperare dal database le coordinate o gli indirizzi di tutte e sole le autoscuole che vorresti mostrare sulla mappa?

    Per il resto puoi trovare informazioni qui
    https://developers.google.com/maps/d.../mysql-to-maps

  3. #3
    Grandissimo, grazie!

  4. #4
    Quote Originariamente inviata da Maxilboss93 Visualizza il messaggio
    Buongiorno programmatori,
    Ho un problema con la geolocalizzazione, ho creato una pagina .php che rileva l' attuale posizione di chi si connette al mio sito
    ciao! puoi darmi qualche consiglio per come rilevare la posizione di chi si connette al sito?
    aquatimer2000

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da aquatimer2000 Visualizza il messaggio
    ciao! puoi darmi qualche consiglio per come rilevare la posizione di chi si connette al sito?
    Dall'indirizzo IP ci sono servizi di geolocalizzazione che ti dicono da dove è connesso, ma i servizi gratuiti ti danno una posizione molto indicativa, non affidabile, tipo puoi solo essere certo della nazione, la città è quasi sempre sbagliata. Li provai qualche tempo fa, mi dicevano che ero connesso da Milano, mentre stavo a Roma.
    Se vuoi maggiore precisione devi rivolgerti a servizi a pagamento.

  6. #6
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Se vuoi maggiore precisione devi rivolgerti a servizi a pagamento.
    Grazie Alhazred , a pagamento quali posso trovare, ne conosci qualcuno?
    aquatimer2000

  7. #7
    Io per geolocalizzare la posizione corrente di chi si connette avevo trovato questo semplice script:

    codice:
    var map;
    var mapLng = "";
    var mapLat = "";
    var mapDefaultZoom = 10;
    
    
    $(document).ready(function() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(mia_posizione);
        } else {
            alert('La geo-localizzazione NON è possibile');
        }
    });
    
    
    
    
    function mia_posizione(position) {
        var lat = position.coords.latitude;
        var long = position.coords.longitude;
        $("#lat").text("latitudine: " + lat);
        $("#long").text("longitudine: " + long);
        mapLng = long;
        mapLat = lat;
    
    
        initialize_map(mapLng, mapLat);
        add_map_point(mapLat, mapLng)
    }
    
    
    
    
    function initialize_map(mapLng, mapLat) {
        map = new ol.Map({
            target: "map",
            layers: [
                new ol.layer.Tile({
                    source: new ol.source.OSM({
                        url: "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png",
                        crossOrigin: null
                    })
                })
            ],
            view: new ol.View({
                center: ol.proj.fromLonLat([mapLng, mapLat]),
                zoom: mapDefaultZoom
            })
        });
    }
    
    
    function add_map_point(lat, lng, boxLat, boxLng) {
        if (boxLat !== undefined && boxLng !== undefined) {
            map.center = ol.proj.fromLonLat([boxLng, boxLat]);
        }
        var vectorLayer = new ol.layer.Vector({
            source: new ol.source.Vector({
                features: [new ol.Feature({
                    geometry: new ol.geom.Point(ol.proj.transform([parseFloat(lng), parseFloat(lat)], 'EPSG:4326', 'EPSG:3857')),
                })]
            }),
            style: new ol.style.Style({
                image: new ol.style.Icon({
                    anchor: [0.5, 0.5],
                    anchorXUnits: "fraction",
                    anchorYUnits: "fraction",
                    src: "https://upload.wikimedia.org/wikipedia/commons/e/ec/RedDot.svg"
                })
            })
        });
        map.addLayer(vectorLayer);
    }
    e una semplice pagina html, php così creata
    codice:
    <!DOCTYPE html><html lang="en">
    <head>
    	<meta charset="utf-8">
    	<title>Test Mappa</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <script src="../script/jquery-2.1.4.min.js"></script>
    	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
    	<link rel="stylesheet" href="https://openlayers.org/en/v4.6.5/css/ol.css" type="text/css">
    	<script src="https://openlayers.org/en/v4.6.5/build/ol.js" type="text/javascript"></script>
    	<script src="miapos.js" type="text/javascript"></script>
      
      
    </head>
    <body>
        <p id="lat"></p>
        <p id="long"></p>
    
    
      <div id="map" style="width: 100vw; height: 100vh;"></div>
    </body>
    </html>
    Se hai la posizione attiva e acconsenti all' utilizzo ti geolocalizza correttamente!

  8. #8
    Quote Originariamente inviata da Maxilboss93 Visualizza il messaggio
    Io per geolocalizzare la posizione corrente di chi si connette avevo trovato questo semplice script:
    ....
    Se hai la posizione attiva e acconsenti all' utilizzo ti geolocalizza correttamente!
    grazie mille!!
    provo!
    aquatimer2000

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.