Hi
I am trying this code to display a google map with pointer and a info window to show the lat long.
when run in the server, it just shows a blank page and nothing else.
the var geo_json echoes null and this is why it is not going into if loop at all..
here is the code sample 1:
<?
$key = "ABQIAAAARhshcd0";
$address = urlencode("Birmingham West Midlands");
$url = "http://maps.google.com/maps/geo?q=".$address."&output=csv&key=".$key;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
$geo_json = json_decode($data, true);
var_dump($geo_json);
echo $geo_json;
if ($geo_json['Status']['code'] == '200')
{
$latitude = $geo_json['Placemark'][0]['Point']['coordinates'][0];
$longitude = $geo_json['Placemark'][0]['Point']['coordinates'][1];
?>
<iframe width="<?php echo $iframe_width; ?>" height="<?php echo $iframe_height; ?>" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="
[url]http://maps.google.com/maps?f=q[/url] &source=s_q&hl=en&geocode=&q=<?php echo $address; ?>
&aq=0
&ie=UTF8
&hq=
&hnear=<?php echo $address; ?>
&t=m
&ll=<?php echo $longitude; ?>,<?php echo $latitude; ?>
&z=12
&iwloc=
&output=embed"></iframe>
<?php
} else { echo "<p>No Address Available</p>";}
?>
I tried using this bit of code i got online from coffee site
<?
$points = array();
$points[] = array('marker'=>'B44 0LJ','info'=>'bmhj');
$points[] = array('marker'=>'Birmingham','info'=>'<strong>Birmingham</strong><br />woohoo');
$param = array('WXMapPoints'=>$points,'WXMapZoom'=>10);
class WXGoogleMap {
const js_param = 'WXMapType,WXMapZoom,WXMapTypeControl,WXMapZoomControl,WXMapInfoText,WXMapBlowUpMap,WXMapPoints';
static public function map_multiple_markers($google_key, $param){
if(!$param['size_x'])
$param['size_x'] = 400;
if(!$param['size_y'])
$param['size_y'] = 400;
$html .= '<script src="/javascripts/map1.html" type="text/javascript"></script>';
$html = "<script src='http://maps.google.com/maps?file=api&v=2&key=AIzaSyCrfnKng8Dk_PW0Q6D5n2ftNp_zrirBFDs' type='text/javascript'></script>";
$html .= "<script src='http://www.google.com/uds/api?file=uds.js&v=1.0&key=AIzaSyCrfnKng8Dk_PW0Q6D5n2ftNp_zrirBFDs' type='text/javascript'></script>";
/ $html .= '<script src="/javascripts/gmap.js" type="text/javascript"></script>'; /
$html .= '<script>';
foreach($param as $key => $value){
echo $key;
if(in_array($key,explode(',',self::js_param)) && !is_array($value)) {
if(is_int($value)) $html .= "{$key} = {$value};";
else $html .= "{$key} = '{$value}';";
}
}
for($i=0; $i<count($param['WXMapPoints']); $i++){
$html .= "tmp{$i} = new Array(); tmp{$i}['marker'] = '{$param['WXMapPoints'][$i]['marker']}'; tmp{$i}['info'] = '{$param['WXMapPoints'][$i]['info']}'; ";
$html .= "WXMapPoints[{$i}] = tmp{$i};";
}
$html .= '</script>';
$html .= "<div id='map' title='Google Map' style='height:{$param['size_y']}px; width:{$param['size_x']}px;'></div>";
return $html;
}
static public function map($google_key, $location, $info, $param = array()){
$markers = array();
$markers[] = array('marker'=>$location,'info'=>$info);
$param['WXMapPoints'] = $markers;
return self::map_multiple_markers($google_key,$param);
}
static public function print_map($google_key, $location, $param = array(), $size_x = 400, $size_y = 400){
if(!$param['size_x']) $param['size_x'] = $size_x;
if(!$param['size_y']) $param['size_y'] = $size_y;
return self::map($google_key,$location,$param);
}
/ echo WXGoogleMap::map('AIzaSyCrfnKng8Dk', 'Birmingham', 'This is Birmingham'); ?> /
}?>
gmap.js
<?
$points = array();
$points[] = array('marker'=>'B44 0LJ','info'=>'WAA!');
$points[] = array('marker'=>'Birmingham','info'=>'<strong>Birmingham</strong><br />woohoo');
$param = array('WXMapPoints'=>$points,'WXMapZoom'=>10);
?>
var map;
var localSearch = new GlocalSearch();
var WXMapPoints = new Array();
var WXMapType = G_NORMAL_MAP;
var WXMapZoom = 12;
var WXMapTypeControl = false;
var WXMapZoomControl = 'small';
var WXMapZoomScrollControl = true;
var WXMapInfoText = true;
var WXMapBlowUpMap = false;
var icon = new GIcon();
icon.image = "http://www.google.com/mapfiles/marker.png";
icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
icon.iconSize = new GSize(20, 30);
icon.shadowSize = new GSize(35, 30);
icon.iconAnchor = new GPoint(10, 30);
function placeMarkers(){
mapElement = document.getElementById('map');
localSearch.setSearchCompleteCallback(null,
function() {
if (localSearch.results[0])
{
var resultLat = localSearch.results[0].lat;
var resultLng = localSearch.results[0].lng;
var point = new GLatLng(resultLat,resultLng);
map.setCenter(point, WXMapZoom);
tmpPoint = WXMapPoints[count];
map.addOverlay(createMarker(point, tmpPoint['info']));
if(WXMapZoomScrollControl == false){ map.disableScrollWheelZoom(); }
else{ map.enableScrollWheelZoom(); }
if(WXMapBlowUpMap == true){ map.showMapBlowup(point); }
count++;
}else{
alert("Area not found!");
}
});
var count = 0;
for(i=0; i<WXMapPoints.length;i++) {
localSearch.execute(WXMapPoints[i]['marker'] + ", UK");
}
}
function createMarker(point, info) {
var marker = new GMarker(point);
if(info != ''){
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(info);
});
}
return marker;
}
function mapLoad() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
if(WXMapZoomControl == 'large') { map.addControl(new GLargeMapControl()); }
else if(WXMapZoomControl == 'small'){ map.addControl(new GSmallMapControl()); }
if(WXMapTypeControl == true){
map.addControl(new GMapTypeControl());
}
map.setCenter(new GLatLng(52.4862430,-1.8904010), 4, WXMapType);
}
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
function addUnLoadEvent(func) {
var oldonunload = window.onunload;
if (typeof window.onunload != 'function') {
window.onunload = func;
} else {
window.onunload = function() {
oldonunload();
func();
}
}
}
addLoadEvent(mapLoad);
addLoadEvent(placeMarkers);
addUnLoadEvent(GUnload);