sql >> Database >  >> RDS >> Mysql

Straal/dichtstbijzijnde resultaten - Google Maps API

Hier de JSFiddle-demo:

Ik denk dat dit een manier is om het te doen. U kunt de kring van de Google Map V3 API gebruiken om de grenzen te maken vanaf uw middelpunt of huidige locatie. U kunt de straal van de cirkel in meters specificeren met setRadius(radius:number) . Met de gemaakte cirkel kun je door je markeringen lopen en zien of ze binnen de grenzen van de cirkel vallen met behulp van Circle's getBounds-object dat een LatLngBounds is en controleer of de marker binnen de grens valt of niet.

Ik ging door en maakte een kleine demo met vijf punten op een kaart, en als je op de knop Cirkel maken klikt, wordt de eerste markering het middelpunt en tekent een cirkel met een straal van 5000 en filtert de markeringen die zijn niet gebonden met behulp van de hierboven beschreven methode:

function createRadius(dist) {
    var myCircle = new google.maps.Circle({
        center: markerArray[markerArray.length - 1].getPosition(),
        map: map,
        radius: dist,
        strokeColor: "#FF0000",
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: "#FF0000",
        fillOpacity: 0.35
    });
    var myBounds = myCircle.getBounds();

    //filters markers
    for(var i=markerArray.length;i--;){
         if(!myBounds.contains(markerArray[i].getPosition()))
             markerArray[i].setMap(null);
    }
    map.setCenter(markerArray[markerArray.length - 1].getPosition());
    map.setZoom(map.getZoom()+1);
}


  1. MySQL LOAD_FILE retourneert NULL

  2. 3 manieren om een ​​string te "unhexen" in MySQL

  3. Hoe mysql-query's van bash te voeden

  4. Hoe een gegevenstabel invoegen in de SQL Server-databasetabel?