Created
August 16, 2016 14:33
-
-
Save anonymous/fada795e912ee468fefdba66cb7eccdf to your computer and use it in GitHub Desktop.
Google Maps API v3 : Hardcoded Polygon [V2 PESSIMISTIC ALL POLYGONS - KUNDANHALLI] // source http://jsbin.com/bexeki
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<meta name="description" content="[V2 PESSIMISTIC ALL POLYGONS - KUNDANHALLI]"> | |
<title>Google Maps API v3 : Hardcoded Polygon</title> | |
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script> | |
<script type="text/javascript"> | |
</script> | |
</head> | |
<body onload="initialize()"> | |
<div id="map" style="width: 600px; height: 500px"> | |
</div> | |
<script id="jsbin-javascript"> | |
// V2 PESSIMISTIC ALL POLYGONS - KUNDANHALLI | |
var metros; | |
var polygon1, polygon2, polygon3, polygon4; | |
var gmarkers = []; | |
var points = []; | |
var hullPoints = []; | |
var map = null; | |
var polyline; | |
function initialize() | |
{ | |
map = new google.maps.Map(document.getElementById("map"), | |
{ | |
zoom: 13, | |
center: new google.maps.LatLng(12.9570465,77.71505359999992) | |
}); | |
var currentMarker = new google.maps.Marker({ | |
icon: { | |
strokeColor: "red", | |
scale: 3 | |
}, | |
position: new google.maps.LatLng(12.9570465,77.71505359999992), | |
map: map | |
}); | |
currentMarker.setMap(map); | |
var lat_lngs15 =[ | |
"12.9571993,77.7455185", | |
"12.9927791,77.7110639", | |
"12.9715903,77.7119452", | |
"12.9559519,77.7149195", | |
"12.956869,77.70144719999999", | |
"12.9571993,77.7455185", | |
] | |
var coords15 = getGoogleLatLng(lat_lngs15); | |
generateMarkers(lat_lngs15, map, 'red') | |
sortPoints2Polygon() | |
} | |
function sortPoints2Polygon() { | |
if (polyline) polyline.setMap(null); | |
// document.getElementById("hull_points").innerHTML = ""; | |
points = []; | |
var bounds = new google.maps.LatLngBounds(); | |
for (var i=0; i < gmarkers.length; i++) { | |
points.push(gmarkers[i].getPosition()); | |
bounds.extend(gmarkers[i].getPosition()); | |
} | |
var center = bounds.getCenter(); | |
var bearing = []; | |
for (var i=0; i < points.length; i++) { | |
points[i].bearing = google.maps.geometry.spherical.computeHeading(center,points[i]); | |
} | |
points.sort(bearingsort); | |
polyline = new google.maps.Polygon({ | |
map: map, | |
paths:points, | |
fillColor:"#FF0000", | |
strokeWidth:2, | |
fillOpacity:0.5, | |
strokeColor:"#0000FF", | |
strokeOpacity:0.5 | |
}); | |
} | |
function bearingsort(a,b) { | |
return (a.bearing - b.bearing); | |
} | |
function calculateConvexHull() { | |
if (polyline) polyline.setMap(null); | |
document.getElementById("hull_points").innerHTML = ""; | |
points = []; | |
for (var i=0; i < gmarkers.length; i++) { | |
points.push(gmarkers[i].getPosition()); | |
} | |
points.sort(sortPointY); | |
points.sort(sortPointX); | |
DrawHull(); | |
} | |
function generateMarkers(lat_lngs, map, color) { | |
for(var i = 0 ; i < lat_lngs.length; i++ ){ | |
var point = lat_lngs[i].split(','); | |
var point_lat = parseFloat(point[0]); | |
var point_lng = parseFloat(point[1]); | |
var currentMarker1 = new google.maps.Marker({ | |
icon: { | |
path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, | |
strokeColor: color, | |
scale: 3 | |
}, | |
title: "index "+i, | |
position: new google.maps.LatLng(point_lat,point_lng), | |
map: map | |
}); | |
currentMarker1.setMap(map); | |
gmarkers.push(currentMarker1); | |
points.push(new google.maps.LatLng(point_lat, point_lng)) | |
} | |
} | |
function sortPointX(a,b) { return a.lng() - b.lng(); } | |
function sortPointY(a,b) { return a.lat() - b.lat(); } | |
function DrawHull() { | |
hullPoints = []; | |
chainHull_2D( points, points.length, hullPoints ); | |
polyline = new google.maps.Polygon({ | |
map: map, | |
paths:hullPoints, | |
fillColor:"#FF0000", | |
strokeWidth:2, | |
fillOpacity:0.5, | |
strokeColor:"#0000FF", | |
strokeOpacity:0.5 | |
}); | |
displayHullPts(); | |
} | |
function displayHullPts() { | |
document.getElementById("hull_points").innerHTML = ""; | |
for (var i=0; i < hullPoints.length; i++) { | |
document.getElementById("hull_points").innerHTML += hullPoints[i].toUrlValue()+"<br>"; | |
} | |
} | |
function getGoogleLatLng(lat_lngs) { | |
var someArr = []; | |
for(var i = 0 ; i < lat_lngs.length; i++ ){ | |
var point = lat_lngs[i].split(','); | |
var point_lat = parseFloat(point[0]); | |
var point_lng = parseFloat(point[1]); | |
someArr.push(new google.maps.LatLng(point_lat, point_lng)); | |
} | |
return someArr; | |
} | |
</script> | |
<script id="jsbin-source-javascript" type="text/javascript">// V2 PESSIMISTIC ALL POLYGONS - KUNDANHALLI | |
var metros; | |
var polygon1, polygon2, polygon3, polygon4; | |
var gmarkers = []; | |
var points = []; | |
var hullPoints = []; | |
var map = null; | |
var polyline; | |
function initialize() | |
{ | |
map = new google.maps.Map(document.getElementById("map"), | |
{ | |
zoom: 13, | |
center: new google.maps.LatLng(12.9570465,77.71505359999992) | |
}); | |
var currentMarker = new google.maps.Marker({ | |
icon: { | |
strokeColor: "red", | |
scale: 3 | |
}, | |
position: new google.maps.LatLng(12.9570465,77.71505359999992), | |
map: map | |
}); | |
currentMarker.setMap(map); | |
var lat_lngs15 =[ | |
"12.9571993,77.7455185", | |
"12.9927791,77.7110639", | |
"12.9715903,77.7119452", | |
"12.9559519,77.7149195", | |
"12.956869,77.70144719999999", | |
"12.9571993,77.7455185", | |
] | |
var coords15 = getGoogleLatLng(lat_lngs15); | |
generateMarkers(lat_lngs15, map, 'red') | |
sortPoints2Polygon() | |
} | |
function sortPoints2Polygon() { | |
if (polyline) polyline.setMap(null); | |
// document.getElementById("hull_points").innerHTML = ""; | |
points = []; | |
var bounds = new google.maps.LatLngBounds(); | |
for (var i=0; i < gmarkers.length; i++) { | |
points.push(gmarkers[i].getPosition()); | |
bounds.extend(gmarkers[i].getPosition()); | |
} | |
var center = bounds.getCenter(); | |
var bearing = []; | |
for (var i=0; i < points.length; i++) { | |
points[i].bearing = google.maps.geometry.spherical.computeHeading(center,points[i]); | |
} | |
points.sort(bearingsort); | |
polyline = new google.maps.Polygon({ | |
map: map, | |
paths:points, | |
fillColor:"#FF0000", | |
strokeWidth:2, | |
fillOpacity:0.5, | |
strokeColor:"#0000FF", | |
strokeOpacity:0.5 | |
}); | |
} | |
function bearingsort(a,b) { | |
return (a.bearing - b.bearing); | |
} | |
function calculateConvexHull() { | |
if (polyline) polyline.setMap(null); | |
document.getElementById("hull_points").innerHTML = ""; | |
points = []; | |
for (var i=0; i < gmarkers.length; i++) { | |
points.push(gmarkers[i].getPosition()); | |
} | |
points.sort(sortPointY); | |
points.sort(sortPointX); | |
DrawHull(); | |
} | |
function generateMarkers(lat_lngs, map, color) { | |
for(var i = 0 ; i < lat_lngs.length; i++ ){ | |
var point = lat_lngs[i].split(','); | |
var point_lat = parseFloat(point[0]); | |
var point_lng = parseFloat(point[1]); | |
var currentMarker1 = new google.maps.Marker({ | |
icon: { | |
path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, | |
strokeColor: color, | |
scale: 3 | |
}, | |
title: "index "+i, | |
position: new google.maps.LatLng(point_lat,point_lng), | |
map: map | |
}); | |
currentMarker1.setMap(map); | |
gmarkers.push(currentMarker1); | |
points.push(new google.maps.LatLng(point_lat, point_lng)) | |
} | |
} | |
function sortPointX(a,b) { return a.lng() - b.lng(); } | |
function sortPointY(a,b) { return a.lat() - b.lat(); } | |
function DrawHull() { | |
hullPoints = []; | |
chainHull_2D( points, points.length, hullPoints ); | |
polyline = new google.maps.Polygon({ | |
map: map, | |
paths:hullPoints, | |
fillColor:"#FF0000", | |
strokeWidth:2, | |
fillOpacity:0.5, | |
strokeColor:"#0000FF", | |
strokeOpacity:0.5 | |
}); | |
displayHullPts(); | |
} | |
function displayHullPts() { | |
document.getElementById("hull_points").innerHTML = ""; | |
for (var i=0; i < hullPoints.length; i++) { | |
document.getElementById("hull_points").innerHTML += hullPoints[i].toUrlValue()+"<br>"; | |
} | |
} | |
function getGoogleLatLng(lat_lngs) { | |
var someArr = []; | |
for(var i = 0 ; i < lat_lngs.length; i++ ){ | |
var point = lat_lngs[i].split(','); | |
var point_lat = parseFloat(point[0]); | |
var point_lng = parseFloat(point[1]); | |
someArr.push(new google.maps.LatLng(point_lat, point_lng)); | |
} | |
return someArr; | |
}</script></body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// V2 PESSIMISTIC ALL POLYGONS - KUNDANHALLI | |
var metros; | |
var polygon1, polygon2, polygon3, polygon4; | |
var gmarkers = []; | |
var points = []; | |
var hullPoints = []; | |
var map = null; | |
var polyline; | |
function initialize() | |
{ | |
map = new google.maps.Map(document.getElementById("map"), | |
{ | |
zoom: 13, | |
center: new google.maps.LatLng(12.9570465,77.71505359999992) | |
}); | |
var currentMarker = new google.maps.Marker({ | |
icon: { | |
strokeColor: "red", | |
scale: 3 | |
}, | |
position: new google.maps.LatLng(12.9570465,77.71505359999992), | |
map: map | |
}); | |
currentMarker.setMap(map); | |
var lat_lngs15 =[ | |
"12.9571993,77.7455185", | |
"12.9927791,77.7110639", | |
"12.9715903,77.7119452", | |
"12.9559519,77.7149195", | |
"12.956869,77.70144719999999", | |
"12.9571993,77.7455185", | |
] | |
var coords15 = getGoogleLatLng(lat_lngs15); | |
generateMarkers(lat_lngs15, map, 'red') | |
sortPoints2Polygon() | |
} | |
function sortPoints2Polygon() { | |
if (polyline) polyline.setMap(null); | |
// document.getElementById("hull_points").innerHTML = ""; | |
points = []; | |
var bounds = new google.maps.LatLngBounds(); | |
for (var i=0; i < gmarkers.length; i++) { | |
points.push(gmarkers[i].getPosition()); | |
bounds.extend(gmarkers[i].getPosition()); | |
} | |
var center = bounds.getCenter(); | |
var bearing = []; | |
for (var i=0; i < points.length; i++) { | |
points[i].bearing = google.maps.geometry.spherical.computeHeading(center,points[i]); | |
} | |
points.sort(bearingsort); | |
polyline = new google.maps.Polygon({ | |
map: map, | |
paths:points, | |
fillColor:"#FF0000", | |
strokeWidth:2, | |
fillOpacity:0.5, | |
strokeColor:"#0000FF", | |
strokeOpacity:0.5 | |
}); | |
} | |
function bearingsort(a,b) { | |
return (a.bearing - b.bearing); | |
} | |
function calculateConvexHull() { | |
if (polyline) polyline.setMap(null); | |
document.getElementById("hull_points").innerHTML = ""; | |
points = []; | |
for (var i=0; i < gmarkers.length; i++) { | |
points.push(gmarkers[i].getPosition()); | |
} | |
points.sort(sortPointY); | |
points.sort(sortPointX); | |
DrawHull(); | |
} | |
function generateMarkers(lat_lngs, map, color) { | |
for(var i = 0 ; i < lat_lngs.length; i++ ){ | |
var point = lat_lngs[i].split(','); | |
var point_lat = parseFloat(point[0]); | |
var point_lng = parseFloat(point[1]); | |
var currentMarker1 = new google.maps.Marker({ | |
icon: { | |
path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, | |
strokeColor: color, | |
scale: 3 | |
}, | |
title: "index "+i, | |
position: new google.maps.LatLng(point_lat,point_lng), | |
map: map | |
}); | |
currentMarker1.setMap(map); | |
gmarkers.push(currentMarker1); | |
points.push(new google.maps.LatLng(point_lat, point_lng)) | |
} | |
} | |
function sortPointX(a,b) { return a.lng() - b.lng(); } | |
function sortPointY(a,b) { return a.lat() - b.lat(); } | |
function DrawHull() { | |
hullPoints = []; | |
chainHull_2D( points, points.length, hullPoints ); | |
polyline = new google.maps.Polygon({ | |
map: map, | |
paths:hullPoints, | |
fillColor:"#FF0000", | |
strokeWidth:2, | |
fillOpacity:0.5, | |
strokeColor:"#0000FF", | |
strokeOpacity:0.5 | |
}); | |
displayHullPts(); | |
} | |
function displayHullPts() { | |
document.getElementById("hull_points").innerHTML = ""; | |
for (var i=0; i < hullPoints.length; i++) { | |
document.getElementById("hull_points").innerHTML += hullPoints[i].toUrlValue()+"<br>"; | |
} | |
} | |
function getGoogleLatLng(lat_lngs) { | |
var someArr = []; | |
for(var i = 0 ; i < lat_lngs.length; i++ ){ | |
var point = lat_lngs[i].split(','); | |
var point_lat = parseFloat(point[0]); | |
var point_lng = parseFloat(point[1]); | |
someArr.push(new google.maps.LatLng(point_lat, point_lng)); | |
} | |
return someArr; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment