Hi All,<div><br></div><div>I&#39;m trying to do a flickr mashup following the examples in the OpenLayers book ch11. I&#39;m getting an access-control-allow-origin error when using the ProxyHost example script provided on the OpenLayers site. I&#39;ve double checked and I&#39;m pretty sure my url&#39;s are properly spelled. Any suggestions?<br clear="all">
<br></div><div><div>var map, layer;</div><div>function init_geoflik(){</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>map = new OpenLayers.Map (&quot;map&quot;, </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>{controls:[ </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>    new OpenLayers.Control.Navigation(),</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>new OpenLayers.Control.PanZoomBar(),</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>new OpenLayers.Control.LayerSwitcher(),</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>new OpenLayers.Control.Attribution(),</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>new OpenLayers.Control.ScaleLine()],</div><div>  <span class="Apple-tab-span" style="white-space:pre">                </span>sphericalMercator: true,</div><div>  <span class="Apple-tab-span" style="white-space:pre">                </span>maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),</div>
<div>  <span class="Apple-tab-span" style="white-space:pre">                </span>maxResolution: 156543.0399,</div><div>  <span class="Apple-tab-span" style="white-space:pre">                </span>numZoomLevels: 19,</div><div>  <span class="Apple-tab-span" style="white-space:pre">                </span>units: &#39;m&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>});</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>var google_map = new OpenLayers.Layer.Google(</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>&#39;Google Layer&#39;,</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>{}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>);</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>map.addLayer(google_map);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>var vector_layer = new OpenLayers.Layer.Vector(&#39;Flickr Data&#39;,</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>projection: new OpenLayers.Projection(&#39;EPSG:4326&#39;),</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>protocol: new OpenLayers.Protocol.HTTP({</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>url: &#39;<a href="http://api.flickr.com/services/feeds/geo/">http://api.flickr.com/services/feeds/geo/</a>&#39;, params: {&#39;format&#39;:&#39;kml&#39;, &#39;tags&#39;:&#39;graphitti&#39;}, format: new OpenLayers.Format.KML({extractAttributes: true, extractStyles: true})}), strategies: [new OpenLayers.Strategy.Fixed(), new OpenLayers.Strategy.Cluster]});</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>map.addLayer(vector_layer);</div><div>OpenLayers.ProxyHost = &#39;/cgi-bin/proxy.cgi?url=&#39;;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>var vector_style = new OpenLayers.Style({</div>
<div>&#39;fillColor&#39;: &#39;#669933&#39;,</div><div>&#39;fillOpacity&#39;: .8,</div><div>&#39;fontColor&#39;: &#39;#f0f0f0&#39;,</div><div>&#39;fontFamily&#39;: &#39;arial, sans-serif&#39;,</div><div>&#39;fontSize&#39;: &#39;.9em&#39;,</div>
<div>&#39;fontWeight&#39;: &#39;bold&#39;,</div><div>&#39;label&#39;: &#39;${num_points}&#39;,</div><div>&#39;pointRadius&#39;: &#39;${point_radius}&#39;,</div><div>&#39;strokeColor&#39;: &#39;#aaee77&#39;,</div><div>&#39;strokeWidth&#39;: 3</div>
<div>},</div><div>{</div><div>context: {</div><div>num_points: function(feature){ return feature.</div><div>attributes.count; },</div><div>point_radius: function(feature){</div><div>return 9 + (feature.attributes.count)</div>
<div>}</div><div>}</div><div>});</div><div>var vector_style_map = new OpenLayers.StyleMap({</div><div>&#39;default&#39;: vector_style</div><div>});</div><div>var select_feature_control = new OpenLayers.Control.SelectFeature(</div>
<div>vector_layer,</div><div>{}</div><div>)</div><div>map.addControl(select_feature_control);</div><div>select_feature_control.activate();</div><div>vector_layer.styleMap = vector_style_map;</div><div>var vector_style_select = new OpenLayers.Style({</div>
<div>&#39;fillColor&#39;: &#39;#cdcdcd&#39;,</div><div>&#39;fillOpacity&#39;: .9,</div><div>&#39;fontColor&#39;: &#39;#232323&#39;,</div><div>&#39;strokeColor&#39;: &#39;#ffffff&#39;</div><div>})</div><div>var vector_style_map = new OpenLayers.StyleMap({</div>
<div>&#39;default&#39;: vector_style,</div><div>&#39;select&#39;: vector_style_select</div><div>});</div><div>vector_layer.events.register(&#39;featureselected&#39;, this, on_select_feature);</div><div>vector_layer.events.register(&#39;featureunselected&#39;, this, on_unselect_feature);</div>
<div>  if( ! map.getCenter() ){</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>  if(vector_layer){</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>  vector_layer.events.register(&#39;loadend&#39;, vector_layer, function(){map.zoomToExtent(vector_layer.getDataExtent())});</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span> }</div><div>map.setCenter(null, null);};}</div><div><br></div><div>function on_select_feature(event){</div><div>var info_div = document.getElementById(&#39;photo_info_wrapper&#39;);</div>
<div>info_div.innerHTML = &#39;&#39;;</div><div>var cluster = event.feature.cluster;</div><div>for(var i=0; i&lt;cluster.length; i++){</div><div>info_div.innerHTML += &quot;&lt;strong&gt;&quot;</div><div>+ cluster[i].<a href="http://attributes.name">attributes.name</a></div>
<div>+ &quot;&lt;/strong&gt;&lt;br /&gt;&quot;</div><div>+ &quot;&lt;img src=&#39;&quot; + cluster[i].style.externalGraphic + &quot;&#39;/&gt;&quot;</div><div>+ cluster[i].attributes.Snippet</div><div>+ &quot;&lt;br /&gt;&lt;hr /&gt;&quot;;}}</div>
<div>function on_unselect_feature(event){</div><div>var info_div = document.getElementById(&#39;photo_info_wrapper&#39;);</div><div>info_div.innerHTML = &#39;&#39;;</div><div>}</div><div><br></div><div><br></div>-- <br><br>
<div>Dept. of Anthropology</div><div>Washington University in St. Louis</div><div>Campus Box 1114</div><div>St. Louis, MO, 63130</div><div>(917) 370-3489</div><div><a href="mailto:nefremov@artsci.wustl.edu" target="_blank">nefremov@wustl.edu</a><br>
</div><br>
</div>