На моем сайте в настоящее время запущен API карт Google v2. Я хотел бы перейти на новый API карт Google v3. Какие изменения необходимо внести в следующем коде? Недавно я получил сообщение о том, что v2 отключен. Поэтому мне нужно изменить существующий скрипт с текущей функциональностью.
<?php include ("includes/config.php"); $z=0; $fcontent=' var maprecent; function init_maprecent() { function createMarker(point, myHtml) { var marker = new GMarker(point); GEvent.addListener(marker, "click", function() { maprecent.openInfoWindowHtml(point, myHtml, {maxWidth:200}); }); return marker; } var markerindex = 0; var markers = new Array(); function animate_marker() {if (markerindex==markers.length) {markerindex=0;} GEvent.trigger(markers[markerindex], "click"); markerindex++; setTimeout(animate_marker, 5000);} var bottomLeft = new GControlPosition(G_ANCHOR_BOTTOM_LEFT); maprecent = new GMap2(document.getElementById("smallmaprecent")); maprecent.addControl(new GSmallZoomControl()); maprecent.addControl(new GMapTypeControl(), bottomLeft); maprecent.setCenter(new GLatLng(34.051072,-118.259961), 5); '; $db = mysql_connect($config['DB_Host'], $config['DB_User'],$config['DB_Passwd']); mysql_select_db($config['DB_Name'],$db); $result = mysql_query("SELECT * from project_master WHERE location != '' ORDER BY project_id",$db); while ($myrow = mysql_fetch_row($result)) { $ce=$myrow[6]; $linkid=$myrow[0]; $link1=str_replace(" ","-",$ce); $link2=strtolower($link1); $zipcode="$myrow[29]"; $cine=$myrow[1]; $result2 = mysql_query("SELECT mem_address,mem_zip_code from member_master WHERE user_login_id='$cine' LIMIT 1",$db); while ($myrow2 = mysql_fetch_row($result2)) { //$zipcode="$myrow2[0]"; } $result2 = ''; for ($i=0; $i<strlen($link2); $i++) { if (preg_match('([0-9]|[az]|_|-)', $link2[$i])) { $result2 = $result2 . $link2[$i]; } } $finallink=$result2; $mainlink="http://abcd.com/project_".$linkid."_".$finallink.".html"; $cine=$myrow[1]; //print "$cine $zipcode $ce $mainlink<br>"; //print "Zipcode $zipcode"; $longitude = ""; $latitude = ""; $precision = ""; //Three parts to the querystring: q is address, output is the format ( $key = ""; $address = urlencode("$zipcode"); $url = "http://maps.google.com/maps/geo?q=".$address."&output=json&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); //print_r($geo_json); if ($geo_json['Status']['code'] == '200') { $precision = $geo_json['Placemark'][0]['AddressDetails']['Accuracy']; $latitude = $geo_json['Placemark'][0]['Point']['coordinates'][0]; $longitude = $geo_json['Placemark'][0]['Point']['coordinates'][1]; //echo "Precision: $precision \n"; //echo "Latutide: $latitude \n"; //echo "Longitude: $longitude \n"; } else { //echo "Error in geocoding! Http error ".substr($data,0,3); } $zipcode=stripslashes($zipcode); $zipcode=substr($zipcode,0,30); if ($longitude!="") { $fcontent.= " var m$z = createMarker(new GLatLng($longitude,$latitude), '<b>$ce</b><br>$cine<br><a href=$mainlink>View project</a><br>$zipcode '); maprecent.addOverlay(m$z); markers.push(m$z); maprecent.addOverlay(new GPolygon([new GLatLng($longitude,$latitude), new GLatLng($longitude,$latitude), new GLatLng($longitude,$latitude), new GLatLng($longitude,$latitude), new GLatLng($longitude,$latitude)], \"#000000\", 1, 0.5, \"#444488\", 0.1)); "; $z++; } } $fcontent.="animate_marker(); }"; //print $fcontent; $fcontent=trim($fcontent); $myFile = "recent.js"; $fh = fopen($myFile, 'w') or die("can't open file"); fwrite($fh, $fcontent); fclose($fh); ?> var maprecent; function init_maprecent() { function createMarker(point, myHtml) { var marker = new GMarker(point); GEvent.addListener(marker, "click", function() { maprecent.openInfoWindowHtml(point, myHtml, {maxWidth:200}); }); return marker; } var markerindex = 0; var markers = new Array(); function animate_marker() {if (markerindex==markers.length) {markerindex=0;} GEvent.trigger(markers[markerindex], "click"); markerindex++; setTimeout(animate_marker, 5000);} var bottomLeft = new GControlPosition(G_ANCHOR_BOTTOM_LEFT); maprecent = new google.maps.Map(document.getElementById("smallmaprecent")); maprecent.addControl(new GSmallZoomControl()); maprecent.addControl(new GMapTypeControl(), bottomLeft); maprecent.setCenter(new GLatLng(34.051072,-118.259961), 5); var m0 = createMarker(new GLatLng(34.016919,-118.5010608), '<b>test</b><br>demo<br><a href=http://www.abcd.com/project_47_test.html>View project</a><br>London '); maprecent.addOverlay(m0); markers.push(m0); maprecent.addOverlay(new GPolygon([new GLatLng(34.016919,-118.5010608), new GLatLng(34.016919,-118.5010608), new GLatLng(34.016919,-118.5010608), new GLatLng(34.016919,-118.5010608), new GLatLng(34.016919,-118.5010608)], "#000000", 1, 0.5, "#444488", 0.1)); animate_marker(); }
Это не вопрос. Прочтите документацию и перепишите код. Я думаю, никто не хочет твоей работы. Если у вас все еще есть проблемы после перезаписи, вы можете вернуться и задать вопрос, почему ваше приложение не имеет такого же поведения, как раньше.