<script src="http://maps.googleapis.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script> 1:
2: <style type="text/css">
3: html { height: 100% }
4: body { height: 100%; margin: 0px; padding: 0px }
5: #map_canvas { height: 100% }
6: #textarea {
7: position:absolute;
8: padding:0px;
9: z-index:888;
10: bottom:5px;
11: right:5px;
12: opacity:0.90;
13: text-align:center;
14: border:0px #ccc solid;
15: background-color: #FFF;
16: visibility: hidden;
17: }
18: </style>
19: <script type="text/javascript">
20: var map;
21: var points = [];
22: var lines;
23: function initialize() {
24:
25: map = new google.maps.Map(document.getElementById("map"), {
26: zoom: 5,
27: center: new google.maps.LatLng(30.637905104982618, 71.103515625),
28: mapTypeId: google.maps.MapTypeId.ROADMAP,
29:
30: });
31: }
32:
33: function createMarkers(coordinates){
34: lines = coordinates.split("\n"); //splits lines pasted in text box
35: alert('There are '+ lines.length +' points to display on map');
36: for (var i=0; i<lines.length; i++){
37: var xy = lines[i].split("\t"); //splits data in each line based on Tabs. Data copied from excel comes in Tab Delimited format
38: var x = xy[0];
39: var y = xy[1];
40: var latlng = new google.maps.LatLng(x,y);
41: points.push(latlng);
42: var marker = new google.maps.Marker({
43: position: latlng,
44: map:map
45: });
46:
47: var labelingColumn = document.getElementById('labelingColumn').value;
48: addInfoWindow(marker, xy[labelingColumn]); // Third column in each line is passed to addInfoWindow as content for showing in infowindow
49: }
50:
51: zoomTo(points);
52: }
53:
54: function addInfoWindow(marker, content) {
55: var infoWindow = new google.maps.InfoWindow({
56: content: content
57: });
58:
59: google.maps.event.addListener(marker, 'click', function () {
60: infoWindow.open(map, marker);
61: });
62: }
63:
64: function zoomTo(points){
65: bounds = new google.maps.LatLngBounds();
66: for (i = 0; i < points.length; i++) {
67: bounds.extend(points[i]);
68: }
69: map.fitBounds(bounds);
70:
71: }
72: function clearMap(){
73: document.getElementById('coordinates').value = "";
74: initialize();
75: }
76: function showCoordinatesMapper(){
77: if(document.getElementById('csvToMap').checked){
78: document.getElementById('textarea').style.visibility = 'visible';
79: }
80: else {
81: document.getElementById('textarea').style.visibility = 'hidden';
82: }
83: }
</script>
</head>
<body onload="initialize()">
<!-- side panel div container -->
<div style="position:absolute; width:230px; height: 100%; overflow:auto; float:left; padding-left:10px; padding-right:10px;">
<h1>Pakistan GIS</h1>
<h3>Creating Markers (with Infowindows) from coordinates data in text box</h3>
Show Coordinates Mapper: <input id="csvToMap" type="checkbox" onclick="showCoordinatesMapper();" />
</div>
<div id='textarea'>
<form action="#" onsubmit="createMarkers(this.coordinates.value); return false">
<textarea cols="40" rows="15" wrap="off" id="coordinates">Paste your data with coordinates here...</textarea>
</br>
<label>Select Column for Labeling</label>
<select id="labelingColumn" width = "100px">
<option value="2">Column 3</option>
<option value="3">Column 4</option>
<option value="4">Column 5</option>
<option value="5">Column 6</option>
</select>
<input type="submit" value="Put on Map"/>
</form>
<button id="delete-button" onClick="clearMap();">Clear Markers</button>
</div>
<!-- map div container -->
<div id="map" style="height:100%; margin-left:250px;"></div>
</body>
</html>