1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Google Maps JavaScript API v3 Example: Place Search</title> 6
6<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCxitB5jQcw7weQdg9MqBRfxr6mj81wT7I&libraries=places"></script>
6 7 8 <style> 9 #map { 10 height: 500px; 11 width: 600px; 12 border: 1px solid #333; 13 margin-top: 0.6em; 14 } 15 </style> 16 17
17<script> 18var map = null; 19var gmarkers = []; 20var service = null; 21var infowindow = new google.maps.InfoWindow({size: new google.maps.Size(150,50)}); 22 23 function initialize() { 24 var pyrmont = new google.maps.LatLng(-33.8665433, 151.1956316); 25 26 map = new google.maps.Map(document.getElementById('map'), { 27 mapTypeId: google.maps.MapTypeId.ROADMAP, 28 center: pyrmont, 29 zoom: 11 30 }); 31 32 service = new google.maps.places.PlacesService(map); 33 34 var request = { 35 location: pyrmont, 36 radius: 30000, 37 types: ['airport'] 38 }; 39 infowindow = new google.maps.InfoWindow(); 40 service.nearbySearch(request, callback); 41 } 42 43 function callback(results, status) { 44 if (status == google.maps.places.PlacesServiceStatus.OK) { 45 for (var i = 0; i < results.length; i++) { 46 createMarker(results[i]); 47 } 48 } 49 } 50 51 function createMarker(place) { 52 var placeLoc = place.geometry.location; 53 if (place.icon) { 54 var image = new google.maps.MarkerImage( 55 place.icon, new google.maps.Size(71, 71), 56 new google.maps.Point(0, 0), new google.maps.Point(17, 34), 57 new google.maps.Size(25, 25)); 58 } else var image = null; 59 60 var marker = new google.maps.Marker({ 61 map: map, 62 icon: image, 63 position: place.geometry.location 64 }); 65 var request = { 66 reference: place.reference 67 }; 68 69 google.maps.event.addListener(marker,'click',function(){ 70 service.getDetails(request, function(place, status) { 71 if (status == google.maps.places.PlacesServiceStatus.OK) { 72 var contentStr = '<h5>'+place.name+'</h5><p>'+place.formatted_address; 73 if (!!place.formatted_phone_number) contentStr += '<br>'+place.formatted_phone_number; 74 if (!!place.website) contentStr += '<br><a target="_blank" href="'+place.website+'">'+place.website+'</a>'; 75 contentStr += '<br>'+place.types+'</p>'; 76 infowindow.setContent(contentStr); 77 infowindow.open(map,marker); 78 } else { 79 var contentStr = "<h5>No Result, status="+status+"</h5>"; 80 infowindow.setContent(contentStr); 81 infowindow.open(map,marker); 82 } 83 }); 84 85 }); 86 gmarkers.push(marker); 87 var side_bar_html = "<a href='javascript:google.maps.event.trigger(gmarkers["+parseInt(gmarkers.length-1)+"],\"click\");'>"+place.name+"</a><br>"; 88 document.getElementById('side_bar').innerHTML += side_bar_html; 89} 90 91 google.maps.event.addDomListener(window, 'load', initialize); 92 </script>
92 93 </head> 94 <body> 95<table border="0" style="width:100%; height: 100%;"><tr><td style="width:70%;height:100%;" align="center"> 96 <div id="map"></div> 97</td><td style="width:30%;height:100%"> 98 <div id="side_bar"></div> 99</td></tr></table> 100 <div id="text">
101<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> 102</script>
102
103<script type="text/javascript"> 104_uacct = "UA-162157-1"; 105urchinTracker(); 106</script>
106 107 </body> 108</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.