Как найти все места внутри многоугольника на карте Google - PullRequest
0 голосов
/ 02 мая 2019

Какой тип результата нужен Мне нужно найти все места внутри многоугольника на карте Google.Мне нужно написать код для рисования многоугольника, но я не знаю, как найти все места в выбранной области, такие как рестораны, бары, больницы и т. Д.

<!DOCTYPE html>
<html>
  <head>
    <title>Drawing Tools</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {

        position: inherit!important;
        width:550px !important;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map_canva>div {
        top: 98px !important;
        }
    </style>
  </head>
  <body>

        <div id="drawpoly"><a href="#">Click Here To Draw On Map</a></div>
<br/>
        <div id="map_canva"></div>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <script src="http://maps.googleapis.com/maps/api/js?libraries=geometry,places&key=API_Key"></script>
<script>

    function drawFreeHand() {

        //the polygon
        poly = new google.maps.Polyline({ map: map, clickable: false });

        //move-listener
        var move = google.maps.event.addListener(map, 'mousemove', function (e) {
            poly.getPath().push(e.latLng);
        });

        //mouseup-listener
        google.maps.event.addListenerOnce(map, 'mouseup', function (e) {
            google.maps.event.removeListener(move);
            var path = poly.getPath();
            poly.setMap(null);
            poly = new google.maps.Polygon({ map: map, path: path });


            google.maps.event.clearListeners(map.getDiv(), 'mousedown');

            enable()
        });

        <!-- google.maps.event.addListener(map, 'click', function (e) { -->
            <!-- var path = poly.getPath(); -->
            <!-- poly = new google.maps.Polygon({ map: map, path: path }); -->
            <!-- alert(poly); -->
        <!-- }); -->
    }

    function disable() {
        map.setOptions({
            draggable: false,
            zoomControl: false,
            scrollwheel: false,
            disableDoubleClickZoom: false
        });
    }

    function enable() {
        map.setOptions({
            draggable: true,
            zoomControl: true,
            scrollwheel: true,
            disableDoubleClickZoom: true
        });
    }

    function initialize() {
        var mapOptions = {
            zoom: 14,
            center: new google.maps.LatLng(52.549878, 13.425209),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map_canva'), mapOptions);

        //draw
        $("#drawpoly a").click(function (e) {
            e.preventDefault();

            disable()

            google.maps.event.addDomListener(map.getDiv(), 'mousedown', function (e) {
                drawFreeHand()
            });

        });

    }
    google.maps.event.addDomListener(window, 'load', initialize)
</script>
</body>
</html>

Мне нужно найти всеместа внутри выбранной области, такие как рестораны, бары, больницы и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...