1 Câu hỏi: Làm cách nào để thêm chức năng vị trí bản đồ ngẫu nhiên vào API bản đồ google của tôi?

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Tôi có API của mình đến nơi tôi có thể nhập vào thành phố và tiểu bang và nó sẽ đưa điểm đánh dấu của tôi đến vị trí đó. Làm cách nào để sử dụng Math.random để tạo nút đưa tôi đến một vị trí ngẫu nhiên?

    <script th:inline="javascript">
    /*<![CDATA[*/

    var coords = {
    lat: parseFloat(/*[[${location.lat}]]*/) || 39.9612,
    lng: parseFloat(/*[[${location.lng}]]*/) || -82.9988
};
var city = /*[[${location.city}]]*/;
var state = /*[[${location.state}]]*/;

    /*]]>*/

function randomBetween() {
    var random = new google.maps.LatLng( (Math.random()*(85*2)-85), (Math.random()*(180*2)-180) );
}
</script>

    <input type="button" onclick="randomBetween()" value="Click" />

Khi tôi chạy chức năng randomBetween, tôi muốn nó đưa tôi đến một vị trí ngẫu nhiên. Nút của tôi không làm gì vào lúc này.

    
- 2
1 Câu trả lời                              1                         

Có các ví dụ về cách tạo điểm đánh dấu tại các vị trí ngẫu nhiên trong giới hạn bản đồ trong một số ví dụ trong tài liệu, một là:

var lngSpan = bounds.east - bounds.west;
var latSpan = bounds.north - bounds.south;
for (var i = 0; i < secretMessages.length; ++i) {
  var marker = new google.maps.Marker({
    position: {
      lat: bounds.south + latSpan * Math.random(),
      lng: bounds.west + lngSpan * Math.random()
    },
    map: map
  });
}

Để thêm điểm đánh dấu tại vị trí "ngẫu nhiên" của bạn và căn giữa bản đồ ở đó:

function randomBetween() {
  var random = new google.maps.LatLng( (Math.random()*(85*2)-85), (Math.random()*(180*2)-180) );
  var marker = new google.maps.Marker({
    map: map,
    position: random
  });
  map.setCenter(marker.getPosition());
}

bằng chứng về khái niệm fiddle

 ảnh chụp màn hình của bản đồ kết quả

đoạn mã:

var map;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: -34.397,
      lng: 150.644
    },
    zoom: 8
  });
  google.maps.event.addDomListener(document.getElementById('btn'), 'click', function() {
    randomBetween();
  })
}

function randomBetween() {
  var random = new google.maps.LatLng((Math.random() * (85 * 2) - 85), (Math.random() * (180 * 2) - 180));
  var marker = new google.maps.Marker({
    map: map,
    position: random
  });
  map.setCenter(marker.getPosition());
}
#map {
  height: 95%;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}
<input id="btn" value="random location" type="button" />
<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap" async defer></script>
    
0
2019-05-08 16: 35: 54Z
nguồn đặt đây