首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenLayers +谷歌广告

OpenLayers +谷歌广告
EN

Stack Overflow用户
提问于 2012-07-11 07:46:00
回答 1查看 394关注 0票数 1

如何通过谷歌地图层在OpenLayers中使用谷歌广告?

在谷歌地图(v2)地图中使用广告感知的代码:

代码语言:javascript
复制
map = new GMap2(document.getElementById("Gmap"));
adsManager = new GAdsManager(
    map, 
    "ca-pub-xxxxxxxxxxxxxxxx", 
    {
        maxAdsOnMap : 4,
        style: 'adunit'
    }
);
adsManager.enable();

## The HTML:
<div id="Gmap"></div>

在openlayer中显示google地图的代码:

代码语言:javascript
复制
map = new OpenLayers.Map("olmap")
var gmap = new OpenLayers.Layer.Google("Google Streets", {numZoomLevels: 20});
map.addLayers([gmap]);

## The HTML:
<div id="olmap"></div>

有没有办法在openlayers中获取google地图对象?然后我可以使用第一个代码来添加广告。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-12 03:33:03

我找到了!查看Openlayers源代码和firebug :)

似乎当你有这个代码的时候

代码语言:javascript
复制
map = new OpenLayers.Map("olmap")
var gmap = new OpenLayers.Layer.Google("Google Streets", {numZoomLevels: 20});
map.addLayers([osm, gmap]);

## The HTML:
<div id="olmap"></div>

您可以使用这个js来引用google地图对象

代码语言:javascript
复制
map.baseLayer.mapObject

因此,根据this的说法,它可能是这样的

代码语言:javascript
复制
## html
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=adsense&sensor=true_or_false"></script>
<div id="olmap"></div>

## js
map = new OpenLayers.Map("olmap")
var gmap = new OpenLayers.Layer.Google("Google Streets", {numZoomLevels: 20});
map.addLayers([gmap]);

var adUnitDiv = document.createElement('div');
var adUnitOptions = {
  format: google.maps.adsense.AdFormat.HALF_BANNER,
  position: google.maps.ControlPosition.TOP,
  map: map.baseLayer.mapObject,
  visible: true,
  publisherId: 'YOUR_PUBLISHER_ID'
}
adUnit = new google.maps.adsense.AdUnit(adUnitDiv, adUnitOptions);

(未测试)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11423618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档