KML and address working! (Brandon KML)

by Thomas Pitera

HTML

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/geocodezip/geoxml3@master/polys/geoxml3.js"></script>
<script
  src="https://code.jquery.com/jquery-3.5.1.js"
  integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
  crossorigin="anonymous"></script>
<script type = "text/javascript" src="https://cdnjs.com/libraries/mathjs"></script>

            <div id="content">
            	  
                <center><form action="#" onsubmit="showAddress(this.address.value); return false" style="padding:10px 0px 30px 0px; background:none;">
                  	<p>
                  	<label>Address:</label>

                    <input type="text" size="40" name="address" value="1585 Tower Road, Courtland, NY, 13045" class="address" />
                    <input type="submit" value="Search" />
                  	</p>
<table style="width:100%;"><tr><td>
                  	<div id="map_canvas" style="width: 500px; height: 600px; margin-bottom:30px; border:1px solid #999;"></div>
</td><td>
<div id="sidebar" style="width:200px;height:600px; overflow:auto"></div>
</td></tr></table>
<p style="border-bottom:1px solid #3a3640;"></p>
                </form></center>
                
            </div>
            <div class="clear"><!--clear--></div>

CSS

html {
  height: 100%;
}

body {
  height: 100%;
  margin: 0px;
  padding: 0px;
}

#map_canvas {
  height: 100%;
}

JavaScript

var src1 = 'https://raw.githubusercontent.com/piterat/kmlLink/642e292853adc55d34f4105d94cb024fac104db4/NEWYORK_SNOWLOADS.kml';
var elevator;
//var infowindow = new google.maps.InfoWindow();
var geoXml = null;
var map = null;
var geocoder = null;
var toggleState = 1;
var infowindow = null;
var marker = null;
var geoXmlDoc = null; 
var contentString = 'Outside Area';

function initialize() 
{

	geocoder = new google.maps.Geocoder(); 

  	infowindow = new google.maps.InfoWindow({size: new google.maps.Size(150,50) }); 
    var latlng = new google.maps.LatLng(42.80,-75.19);
    
	var myOptions = {
      zoom: 6,
      center: latlng,
	  mapTypeControl: true,
    	mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    	navigationControl: true,
		mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    
	 map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
	geoXml = new geoXML3.parser({
                    map: map,
                    singleInfoWindow: true,
                    infoWindow: infowindow,
                    afterParse: useTheData
                });
	geoXml.parse('https://raw.githubusercontent.com/piterat/kmlLink/642e292853adc55d34f4105d94cb024fac104db4/NEWYORK_SNOWLOADS.kml');
	// Create an ElevationService
  	elevator = new google.maps.ElevationService();

}

function showAddress(address) {
    //var contentString = 'Outside Area';

    geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
	  		var point = results[0].geometry.location;
        map.setCenter(point);
        if (marker && marker.setMap) marker.setMap(null);
          marker = new google.maps.Marker({
              map: map, 
              position: point
          });
        for (var i=0; i<geoXml.docs[0].gpolygons.length; i++) {
          if (geoXml.docs[0].gpolygons[i].Contains(point)) {
          	var snowloadtext = geoXml.docs[0].placemarks[i].name;
           ...