如何在 yii 的 EGamp 中添加 google 映射 api 键
how to add google map api key in EGamp in yii
我有一个 google 地图 api 键.. AdfadXXXXXXXXXXX....
我已经安装了 EGamp 扩展程序。我如何在下面的本地主机和生产代码中设置 Api 键。
我尝试使用 EGmap 的 $gMap->setAPIKey('local.mylocal.com','MYAPYKEY');
功能但没有用..
仍在控制台中显示 "Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys"。
下面是我的代码。
Yii::import('vendor.2amigos.egmap.*');
$gMap = new EGMap();
$gMap->zoom = 16;
$gMap->mapTypeControl = false;
$gMap->scrollwheel = false;
$gMap->setContainerStyle('width', '100%');
$gMap->setContainerStyle('height', '250px');
$gMap->setCenter($defaultVenue->lat, $defaultVenue->lng);
// Create GMapInfoWindows
$infoWindow = new EGMapInfoWindow('<div>' . nl2br($defaultVenue->full_address) . '</div>');
// Create marker
$marker = new EGMapMarker($defaultVenue->lat, $defaultVenue->lng, ['title' => $defaultVenue->full_address]);
$marker->addHtmlInfoWindow($infoWindow);
$gMap->addMarker($marker);
我可以对本地主机和生产使用相同的密钥吗?
几个月前使用过这个扩展。不确定我在阅读文档时是否遗漏了什么,但我所做的是对其进行了一些修改以使其正常工作。在您的 EGMap.php 中将代码更改为此 ...
public function registerMapScript($afterInit=array(), $language = null, $region = null, $position = CClientScript::POS_LOAD)
{
// TODO: include support in the future
//$params = 'sensor=false';
$params = '';
$key = $this->getAPIKey();
if ($language !== null)
$params .= '&language=' . $language;
if ($region !== null)
$params .= '®ion=' . $region;
//hack!!
if ($key !== null)
$params .= '&key='. $key;
//end of hack
CGoogleApi::init();
CGoogleApi::register('maps', '3', array('other_params' => $params));
....
....
....
....
}
在您看来,不要忘记在 $gMap->renderMap();
之前添加 $gMap->setAPIKey(DOMAIN, APIKEY)
希望有用
我有一个 google 地图 api 键.. AdfadXXXXXXXXXXX....
我已经安装了 EGamp 扩展程序。我如何在下面的本地主机和生产代码中设置 Api 键。
我尝试使用 EGmap 的 $gMap->setAPIKey('local.mylocal.com','MYAPYKEY');
功能但没有用..
仍在控制台中显示 "Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys"。
下面是我的代码。
Yii::import('vendor.2amigos.egmap.*');
$gMap = new EGMap();
$gMap->zoom = 16;
$gMap->mapTypeControl = false;
$gMap->scrollwheel = false;
$gMap->setContainerStyle('width', '100%');
$gMap->setContainerStyle('height', '250px');
$gMap->setCenter($defaultVenue->lat, $defaultVenue->lng);
// Create GMapInfoWindows
$infoWindow = new EGMapInfoWindow('<div>' . nl2br($defaultVenue->full_address) . '</div>');
// Create marker
$marker = new EGMapMarker($defaultVenue->lat, $defaultVenue->lng, ['title' => $defaultVenue->full_address]);
$marker->addHtmlInfoWindow($infoWindow);
$gMap->addMarker($marker);
我可以对本地主机和生产使用相同的密钥吗?
几个月前使用过这个扩展。不确定我在阅读文档时是否遗漏了什么,但我所做的是对其进行了一些修改以使其正常工作。在您的 EGMap.php 中将代码更改为此 ...
public function registerMapScript($afterInit=array(), $language = null, $region = null, $position = CClientScript::POS_LOAD)
{
// TODO: include support in the future
//$params = 'sensor=false';
$params = '';
$key = $this->getAPIKey();
if ($language !== null)
$params .= '&language=' . $language;
if ($region !== null)
$params .= '®ion=' . $region;
//hack!!
if ($key !== null)
$params .= '&key='. $key;
//end of hack
CGoogleApi::init();
CGoogleApi::register('maps', '3', array('other_params' => $params));
....
....
....
....
}
在您看来,不要忘记在 $gMap->renderMap();
$gMap->setAPIKey(DOMAIN, APIKEY)
希望有用