如何在 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 .= '&region=' . $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)

希望有用