将 Google 地图 v2 转换为 google 地图 v3

2023-12-12

我的网站当前正在运行 Google 地图 API v2。我想转换为新的 Google 地图 API 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]|[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();
}

这不是一个真正的问题。阅读文档并重写你的代码。我认为没有人愿意做你的工作。如果重写后仍然存在问题,您可以回来询问为什么您的应用程序没有与以前相同的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Google 地图 v2 转换为 google 地图 v3 的相关文章

  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 在字符串中间添加一个字符

    可能有一个简单的解决方案可以解决这个问题 但会引起面部表情 我将时间存储为 4 个字符长的字符串 即 1300 我试图将该字符串显示为 13 00 我觉得必须有一个比我现在正在做的更优雅的解决方案 我目前有 startTime get fi
  • MySQL Connector/C++ 库链接错误问题

    PROBLEM 好吧 我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码 这些网站提供了有关如何获得简单数据库连接的教程 但由于某种原因 我的项目总是因链接错误而失败 我可以我自己不明白为什么或如何解决它 我仍在
  • 为什么验证不起作用并跳转到另一个页面?

    我写了一个customer display php来验证数据 到目前为止只有名字 但无论名字字段是否为空 网页都会跳转到customer search php并且没有更改数据库中的信息 为什么
  • 通过 facebook graph API 检索 facebook 用户的邮政编码

    我正在尝试使用 facebook graph API 检索用户的邮政编码 我正在使用以下代码 代码在php ini中 facebook new Facebook array appId gt APP ID secret gt APP SEC
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • Joomla 页面中的自定义 php 代码

    我正在尝试将 Joomla 1 5 9 页面中的表源从页面中的硬编码 html 更改为从 SQL 数据库获取信息 执行此操作的正确方法是什么 创建一个新的模型或组件并以某种方式在页面中使用它 我找到了这些 http docs joomla
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • 如何仅使用 PHP5 RecursiveDirectoryIterator 类递归显示具有特定文件类型的文件夹和子文件夹

    您好 我正在尝试使用 FilterIterator 上的扩展来获取 RecursiveDirectoryIterator 类 但由于某种原因 它仅在根目录上进行迭代 我的代码是这样的 class fileTypeFilter extends
  • WordPress 插件中的类自动加载器

    我想编写一个类自动加载器以在 WordPress 插件中使用 该插件将安装在多个站点上 我想尽量减少与其他插件发生冲突的机会 自动加载器将是这样的 function autoload name some code here 我的主要问题是
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh
  • 如何从父类中获取子类名

    我试图在不需要子类上的函数的情况下完成此任务 这可能吗 我有一种感觉 但我真的很想确定

随机推荐

  • 为 Web API 1、.net 4.0 启用 CORS 时出现的问题

    我需要为我的 Web API 启用 CORS 但无法升级到 Framework 4 5 我尝试将以下内容添加到我的 Web config 中以查看它是否有效 但没有成功
  • 禁用所选文本的拖放

    当我使用 chrome 时 输入或文本框中的任何选定文本都可以拖放到另一个输入 文本区域中 有什么办法可以禁用所选文本的拖动吗 document getElementById test addEventListener dragstart
  • 如何为图像的映射部分分配唯一的 ID 并将其与数据库链接[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我创建了建筑物平面图的图像
  • 如何关闭 FBWebDialogs

    如何以编程方式关闭 FBWebDialogs 我已经看过所有文档和堆栈溢出问题 但似乎没有办法做到这一点 这不可能吧 所以我找到了一种 hacky 方法来做到这一点 此代码将以编程方式触发关闭按钮 TouchUpInside 从而关闭对话框
  • 在Python中读取Fortran的默认输出[重复]

    这个问题在这里已经有答案了 我有 Fortran 77 中旧代码的输出 输出是用 write NUM 线 基本上 默认格式 以下是部分输出 1 25107598E 67 1 89781536E 61 1 28064971E 94 5 857
  • 如何使用.NET core 3.1为任何请求的HTTP客户端设置默认代理?

    我正在使用 interfax api dll 向用户发送传真 如何添加代理服务器配置以将传真发送给用户 实际上我想在 net core 中启用代理服务器设置 最好的方法是什么 问题似乎不在于 interfax api 这可以通过向 net
  • 无法在 mac 上导入 gi 模块 python 3.6

    我正在使用 python 3 6 在 mac 上集成 gstreamer 和 pocketsphinx 然而 第一行代码 从 gi 导入 pygtkcompat 引发错误 命令 python3 demoapp chinese py retu
  • 设计类别、子类别和相关书籍的数据库

    我知道对于与我所问的问题类似的几个问题已经有了一些答案 但他们的方法看起来并不令人信服 我的问题是如何为可以包含书籍的类别和也可以包含书籍的子类别构建数据库 我已经设计了一个数据库 但不相信这种方法 因此 如果有经验的人给我一些建议或改进或
  • 如何在 iPhone 上更长时间地显示启动画面?

    如何在 iPhone 上显示比默认时间更长的启动屏幕 阅读 Apple iPhone 人机界面指南 HIG 启动画面 不应该用于品牌推广或显示徽标 它应该看起来像应用程序的默认状态 因此它看起来可以快速启动 让它在那里停留更长时间将违反 H
  • 从 C 中的 char 数组获取数字值

    我有这个字符数组 char movimiento L30 G10 L50 G 45 L 10 G50 我想获取字母后面的数字的值 L 并将它们存储到整数变量中以供以后使用 eg 30 50 10 我尝试过这样做 因为 ASCII 代码数字从
  • CSS 边距计算

    虽然我在理论上确实了解整个 CSS 盒子模型 如填充 边框 边距 但我的理解仅限于这些单独的部分 我经常对浏览器实际上如何呈现它感到困惑 例如 就像padding是在边框之内一样 但是margin是如何计算的呢 是相对于盒子边框还是相对于屏
  • 如何使用 NativeActivity 写入内部存储文件系统?

    我正在将纯 C 游戏移植到 Android 由于我的目标是 Android 3 0 平板电脑 因此我选择使用 NativeActivity 以完全避免使用 Java 但是 我看不到任何允许我写入设备内部存储的功能 对 fopen 的调用将失
  • JAXB 列出根元素中的名称空间(-> 每个元素)

    默认情况下 jaxb 2 在编组期间列出根元素中的所有 所有可能需要的 命名空间 有没有办法在每个元素而不是根元素中描述名称空间 它还解决了 不必要的名称空间 的问题 这对我来说也很重要 任何建议表示赞赏 None
  • 如何通过PHP抓取需要POST数据的网站?

    我正在尝试抓取一个接受 POST 数据的网站以返回正确的页面 无 POST 则返回 15 个结果 有 POST 数据则返回所有结果 目前我的代码如下所示 curl curl init curl setopt curl CURLOPT URL
  • java.lang.IllegalStateException:无法在父级或祖先上下文中找到 android:onClick 属性的方法

    我正在尝试添加 onClick 方法front 到我的按钮 但是 当我单击按钮时 它返回此错误 java lang IllegalStateException Could not find method front View in a pa
  • 如何将应用程序片段设置为仅纵向模式?

    我有一个 Android 应用程序 它有一个主要活动和 3 个选项卡片段 我希望应用程序始终保持纵向模式 但我似乎无法正常工作 这是我尝试过的 根据另一篇堆栈溢出帖子 但我不确定我做错了什么 如果使用片段 它是否需要有所不同
  • IntelliJ IDEA:如何将项目库与pom.xml中的依赖项同步?

    当我更改项目 具有多个模块 的 pom xml 之一中的依赖项版本时 我会在项目结构的 库 部分中看到新版本和旧版本 例如 最近我将Drools从5 4版本更改为5 5版本 当我进入 库 部分时 我看到了这两个库 因此我手动删除了 5 4
  • SSL 操作失败,代码 1:dh 密钥太小

    我正在通过 SSL 连接到我的数据库 Google Cloud SQL 我使用 codeigniter 3 0 来执行此操作 尽管 mysqli 驱动程序进行了一些修改以允许此功能 几个月来一直运作良好 然而它just开始返回此警告 Mes
  • 无法从“浮动”转换?浮

    我有这个代码 public float InputCutOffFrequency get set fc public float InputF1 get set public float InputF2 get set public flo
  • 将 Google 地图 v2 转换为 google 地图 v3

    我的网站当前正在运行 Google 地图 API v2 我想转换为新的 Google 地图 API v3 下面的代码需要做哪些修改 最近收到一条消息 说v2被禁用了 所以我需要用当前功能修改现有脚本