JSFiddle - React, Tailwind, and code Playground

by Jq7LxKdg

HTML

<div id="map"></div>
<div id="status_num"></div>
 <script async defer  src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://googlemaps.github.io/js-marker-clusterer/src/markerclusterer.js"></script>

CSS

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#map {
  height: 80%;
}

JavaScript

/////////////////////////////////////////////////////////
//参考先URL:http://blog.aquaring.co.jp/1328
/////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////
// 変数設定
///////////////////////////////////////////////////////////////////////
var Yucho = {
    map:{},
    markerArr:[],
		markerClusterer:{},
		markerAddress:[],
    rectangleArrLatLng:[],
    rectangleArrObj:[],
    rectangleArrData:[],
    gridRow:10,
    gridCol:10,
    defLat:35.685842,
    defLng:139.757850,
    defZoom:10,
		defminZoom:10,
    bounds:{},
    jsonData:[],
    boundsData:{},
};

///////////////////////////////////////////////////////////////////////
// 初期化
///////////////////////////////////////////////////////////////////////
Yucho.initMap = function(){
     
    // googleMaps 初期設定
    Yucho.gMapInit();
	
};

///////////////////////////////////////////////////////////////////////
// 現在地が取得できなかったらデフォルト表示
///////////////////////////////////////////////////////////////////////
Yucho.gMapInit = function(){
	Yucho.map = new google.maps.Map(document.getElementById('map'), {
	center: {
		lat: Yucho.defLat, 
		lng: Yucho.defLng
	},
		zoom: Yucho.defZoom,
		minZoom: Yucho.defminZoom
	});
	
	Yucho.gMapSetIdle();
}
 
///////////////////////////////////////////////////////////////////////
// JSON読み込み
///////////////////////////////////////////////////////////////////////
Yucho.getJson = function(){

		Yucho.jsonData = {
    	jsonDataList :[
      	{lat:35.461945,lng:139.584231},
      	{lat:35.461945,lng:139.584231}
      ]};
      
      Yucho.createMarker();
};

///////////////////////////////////////////////////////////////////////
// マーカー作成
///////////////////////////////////////////////////////////////////////
Yucho.createMarker = function() {
	//ajaxで取得したjsonが配列だったら
	if(Array.isArray(Yucho.jsonData.jsonDataList)){
		var infoWindow = new google.maps.InfoWindow();
		var options_markerclusterer = {
			gridSize:...