[OpenLayers-Users] problem with geolocation

Bart van den Eijnden bartvde at osgis.nl
Sat Mar 12 14:59:49 EST 2011


This is not available in 2.10 only in trunk and the upcoming 2.11 release.

Bart

Sent from my iPhone

On Mar 12, 2011, at 11:56 AM, Nicholas Efremov-Kendall <n.e.kendall at gmail.com> wrote:

> Hi Everyone,
> 
> I apologize in advance for what I assume is a pretty trivial error. I've been trying to implement the geolocation example on my local system, but I get an error "ol.control.geolocate is not a constructor" in Firebug, and uncaught typeerror: undefined is not a function in chrome. I've tried this both with linking the OL script to the live api url, as well as to a local copy of OL 2.10. I repost the code below, but I just copied it from the live example and got this error.
> Thanks in advance!
> 
> var style = {
>     fillColor: '#000',
>     fillOpacity: 0.1,
>     strokeWidth: 0
> };
> 
> var map = new OpenLayers.Map('map');
> var layer = new OpenLayers.Layer.OSM( "Simple OSM Map");
> var vector = new OpenLayers.Layer.Vector('vector');
> map.addLayers([layer, vector]);
> 
> map.setCenter(
>     new OpenLayers.LonLat(-71.147, 42.472).transform(
>         new OpenLayers.Projection("EPSG:4326"),
>         map.getProjectionObject()
>     ), 12
> );
> 
> var pulsate = function(feature) {
>     var point = feature.geometry.getCentroid(),
>         bounds = feature.geometry.getBounds(),
>         radius = Math.abs((bounds.right - bounds.left)/2),
>         count = 0,
>         grow = 'up';
> 
>     var resize = function(){
>         if (count>16) {
>             clearInterval(window.resizeInterval);
>         }
>         var interval = radius * 0.03;
>         var ratio = interval/radius;
>         switch(count) {
>             case 4:
>             case 12:
>                 grow = 'down'; break;
>             case 8:
>                 grow = 'up'; break;
>         }
>         if (grow!=='up') {
>             ratio = - Math.abs(ratio);
>         }
>         feature.geometry.resize(1+ratio, point);
>         vector.drawFeature(feature);
>         count++;
>     };
>     window.resizeInterval = window.setInterval(resize, 50, point, radius);
> };
> 
> var geolocate = new OpenLayers.Control.Geolocate({
>     geolocationOptions: {
>         enableHighAccuracy: false,
>         maximumAge: 0,
>         timeout: 7000
>     }
> });
> map.addControl(geolocate);
> geolocate.events.register("locationupdated",this,function(e) {
>     vector.removeAllFeatures();
>     var circle = new OpenLayers.Feature.Vector(
>         OpenLayers.Geometry.Polygon.createRegularPolygon(
>             new OpenLayers.Geometry.Point(e.point.x, e.point.y),
>             e.position.coords.accuracy/2,
>             40,
>             0
>         ),
>         {},
>         style
>     );
>     vector.addFeatures([
>         new OpenLayers.Feature.Vector(
>             e.point,
>             {},
>             {
>                 graphicName: 'cross',
>                 strokeColor: '#f00',
>                 strokeWidth: 2,
>                 fillOpacity: 0,
>                 pointRadius: 10
>             }
>         ),
>         circle
>     ]);
>     map.zoomToExtent(vector.getDataExtent());
>     pulsate(circle);
> });
> geolocate.events.register("locationfailed",this,function() {
>     OpenLayers.Console.log('Location detection failed');
> });
> 
> $('locate').onclick = function() {
>     vector.removeAllFeatures();
>     geolocate.deactivate();
>     $('track').checked = false;
>     geolocate.watch = false;
>     geolocate.activate();
> };
> $('track').onclick = function() {
>     vector.removeAllFeatures();
>     geolocate.deactivate();
>     if (this.checked) {
>         geolocate.watch = true;
>         geolocate.activate();
>     }
> };
> $('track').checked = false;
> -- 
> 
> Dept. of Anthropology
> Washington University in St. Louis
> Campus Box 1114
> St. Louis, MO, 63130
> (917) 370-3489
> nefremov at wustl.edu
> 
> _______________________________________________
> Users mailing list
> Users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20110312/d5b3bd45/attachment.html


More information about the Users mailing list