Google地图和密钥已在线更改

时间:2011-03-15 19:28:07

标签: php google-maps google-maps-api-2

我正在寻找想要帮助我解决这个奇怪问题的php专家。 添加下面的脚本有时候效果很好。 我有三个域指向一个目录。 Google地图要求每个域都有唯一的API密钥。 我的脚本必须在线更改键值。 我看到来自IE8的页面总是正确显示但是从Chrom和Firefox这个脚本有问题,但并不总是如此。当然我控制了页面的来源,并且空的地方应该是脚本src。 谢谢 祝你有愉快的一天!

页面的HEAD中添加了完整的代码。

<?php
if ($_SERVER['HTTP_HOST']=='napuzaka.pl') 
    {echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTpouANZ5f-taQv7LHvODzA4dkDHBSIDoDMuDCbfgg0tAyoHhFajBNCJQ' type='text/javascript'></script>"; }
if ($_SERVER['HTTP_HOST']=='xn--napuaka-zwb.pl') 
    {echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBSz8IVGRhEo79udyNR7B2dzTza61xRpT9lPIg18vhQmddrMIlSVereK3g' type='text/javascript'></script>";}
if ($_SERVER['HTTP_HOST']=='xn--przychodnia-na-puaka-yle.pl') 
    {echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTIBRlPbe0ldXIT_VQB31noUDT8mRReXxc12wAWIs4fuEXiTbsZ0HvViA' type='text/javascript'></script>";}
?>

2 个答案:

答案 0 :(得分:0)

只是在不起作用的情况下打印$ _SERVER ['HTTP_HOST']并将它们添加到if ...它与浏览器如何解析IDN(国际化域名)http://en.wikipedia.org/wiki/Internationalized_domain_name

答案 1 :(得分:0)

为什么不使用变量控制域,然后使用switch语句echo

$page = $_SERVER['PHP_SELF'];

switch ($page)
{

case 'http://xn--przychodnia-na-puaka-yle.pl': 
print '<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;hl=en&amp;sensor=false&amp;key="ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTIBRlPbe0ldXIT_VQB31noUDT8mRReXxc12wAWIs4fuEXiTbsZ0HvViA" type="text/javascript"></script>';

break;

case 'http://napuzaka.pl': /* same with this case just different API Key*/ 
break;

case 'http://xn--napuaka-zwb.pl': /* same with this case just different API Key*/ 
break;

}

此外,使用print代替echo可以在此过程中节省一些内存,因为echo函数有自己的微型工厂,只有在打印变量时才能使用带有变量的文本,以使其更快。