如何通过谷歌地图层在OpenLayers中使用谷歌广告?
在谷歌地图(v2)地图中使用广告感知的代码:
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地图的代码:
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地图对象?然后我可以使用第一个代码来添加广告。
发布于 2012-07-12 03:33:03
我找到了!查看Openlayers源代码和firebug :)
似乎当你有这个代码的时候
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地图对象
map.baseLayer.mapObject因此,根据this的说法,它可能是这样的
## 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);(未测试)
https://stackoverflow.com/questions/11423618
复制相似问题