-
Notifications
You must be signed in to change notification settings - Fork 0
/
clinic_map.html
83 lines (77 loc) · 2.8 KB
/
clinic_map.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
<link rel="stylesheet" href="clinic_map.css" type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<title>Mashup Demo</title>
</head>
<body>
<header>
<h1>-- Clinics Map Mashup Demo --</h1>
<hr>
<div class="service">
<form method="get">
<h2>Select Service</h2>
<hr>
<select name="service" id="servicefind"> <!-- passing id for services -->
<option value="0">Any Service</option>
</select>
<button type="submit" id="result">Locate Clinics</button> <!-- Getting result on button click -->
</form>
</div>
</header>
<div id="locateclinic" class="map"></div> <!-- Division to show map on web page -->
<script type="text/javascript">
$(function() {
$.ajax({
type: "GET",
url:"http://localhost:8080/getservices",
complete: function (response) {
var data = response.responseText;
var outputvalue = JSON.parse(data);
for(i = 0; i < outputvalue.length; i++) {
$('#servicefind').append('<option value="'+ outputvalue[i].ServiceID +'">'+ outputvalue[i].Service + '</option>');
}
}
});
// on click to get the service id form the data
$('#result').click(function () {
var clinic = $('#servicefind').val();
$.ajax({
type: "GET",
url:"http://localhost:8080/getclinics?serviceid=" + clinic,
complete: function (result) {
var data = result.responseText;
var outputvalue = JSON.parse(data);
var mapping = new google.maps.Map(document.getElementById('locateclinic'), {
zoom: 4, // zoom level of map
center: new google.maps.LatLng(-27.614604, 152.760876),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var info = new google.maps.InfoWindow();
// Variable for marker over map
var markerpointer, i;
for(i = 0; i < outputvalue.length; i++) { // loop to polt multiple marker on map
markerpointer = new google.maps.Marker({
position: new google.maps.LatLng(outputvalue[i].Lat, outputvalue[i].Lon),
map: mapping
});
google.maps.event.addListener(markerpointer, 'click', (function(markerpointer, i) {
return function() { // passing information on marker click
var contentinfo = '<p>Clinic Name: ' + outputvalue[i].Name + '<br>Suburb: ' + outputvalue[i].Suburb + '<br>State: ' + outputvalue[i].State + '<br><a href="mailto:' + outputvalue[i].Email + '?subject=Clinic Enquiry" target="_blank">Email Enquiry</a></p>';
info.setContent(contentinfo);
info.open(mapping, markerpointer);
}
})(markerpointer, i));
}
}
});
return false;
});
});
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDQG3dbs-_Du70lNdprjB0yGnyRKG1SHMc"></script>
</body>
</html>