php
  • mysql
  • google-maps
  • 2012-09-17 59 views 1 likes 
    1

    我的网站正在运行Google地图API v2。我想转换为新的Google地图API v3。下面的代码需要做什么修改?最近我收到一条消息,指出v2已禁用。所以我需要用当前的功能修改现有的脚本。将Google地图v2转换为Google地图v3

    <?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]|[a-z]|_|-)', $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(); 
    } 
    

    回答

    4

    这不是一个真正的问题。阅读documentation并重写你的代码。我想没人愿意做你的工作。如果改写后仍然存在问题,可以回过头来问一个问题,为什么你的应用程序没有和以前一样的行为。

    相关问题