■前提・実現したいこと
Googleマップ上でピンを起点にしてポリゴンを描画し、ピンを移動させた際は新たにその位置を起点にポリゴンを描画する。
その際位置変更前のポリゴンは削除したい。
■発生している問題・エラーメッセージ
ピンの移動に応じてポリゴンを描画するところまでは実現済み。
位置変更前のポリゴンの削除が実現できていない。
mapを再描画する(map = new google.maps.Map(document.getElementById('map'))とポリゴンは消えることはわかりました(マップが初期化されるため)が、マップ画面が一瞬消えてしまいます
マップ画面が消えずにgooglemapのポリゴンのみを消す方法を教えてください
setMapにnullを入れる方法を試し他結果、ポリゴンは削除されましたがもう一度、ポリゴンを描画しましたがポリゴンは表示されませんでした。
解決方法ご存知の方教えてください
■当該のソースコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <title>Simple Polygon</title> <style> /* Always set the map height explicitly to define the size of the div * element that contains the map. */ #map { height: 100%; } /* Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; } </style> </head> <body> <div id="map"></div> <script> // This example creates a simple polygon representing the Bermuda Triangle. var map function initMap() { map = new google.maps.Map(document.getElementById('map'), { zoom: 5, center: {lat: 24.886, lng: -70.268}, mapTypeId: 'terrain' }); // Define the LatLng coordinates for the polygon's path. var triangleCoords = [ {lat: 25.774, lng: -80.190}, {lat: 18.466, lng: -66.118}, {lat: 32.321, lng: -64.757}, {lat: 25.774, lng: -80.190} ]; // Construct the polygon. var bermudaTriangle = new google.maps.Polygon({ paths: triangleCoords, strokeColor: '#FF0000', strokeOpacity: 0.8, strokeWeight: 2, fillColor: '#FF0000', fillOpacity: 0.35 }); bermudaTriangle.setMap(map); } </script> <script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"> </script> </body> </html>
あなたの回答
tips
プレビュー