#23137: Error when use OSMapWidget.js
------------------------+--------------------------------------
     Reporter:  koyoyo  |                    Owner:  nobody
         Type:  Bug     |                   Status:  new
    Component:  GIS     |                  Version:  1.6
     Severity:  Normal  |               Resolution:
     Keywords:          |             Triage Stage:  Unreviewed
    Has patch:  0       |      Needs documentation:  0
  Needs tests:  0       |  Patch needs improvement:  0
Easy pickings:  0       |                    UI/UX:  0
------------------------+--------------------------------------
Changes (by timo):

 * needs_better_patch:   => 0
 * needs_tests:   => 0
 * needs_docs:   => 0


Old description:

> I try to create my form with GeoDjango and I didn't found an good example
> in document.
>
> So, I use django/contrib/gis/static/gis/js/OSMapWidget.js and found that
> have some of bugs.
>
> First, in line 173 (miss .) eg. if geom_name = 'MultiPoint', then
> options['geom_type'] will be '''OpenLayers.GeometryMultiPoint'''
>
> {{{
> else options['geom_type'] = eval('OpenLayers.Geometry' +
> options['geom_name']);
> }}}
>
> changed to
>
> {{{
> else options['geom_type'] = eval('OpenLayers.Geometry.' +
> options['geom_name']);
> }}}
>
> Second, line 181 (check is_collection) It is wrong use of function
> "isinstanceof". It cannot check constructor isinstanceof constructor.
>
> {{{
> is_collection: options['geom_name'] instanceof
> OpenLayers.Geometry.Collection,
> }}}
>
> changed to
>
> {{{
> is_collection: (options['geom_name'].substr(0, 5) == 'Multi' || options[
> 'geom_type' ] == 'GeometryCollection'),
> }}}
>
> Third,  in function getControls (line 366, 369, 372) These are not check
> for Collection.
>
> {{{
> if (this.options.geom_name == 'LineString'' || this.options.geom_name ==
> 'Unknown') {
> if (this.options.geom_name == 'Polygon'  || this.options.geom_name ==
> 'Unknown') {
> if (this.options.geom_name == 'Point'  || this.options.geom_name ==
> 'Unknown') {
> }}}
>
> changed to
>
> {{{
> if (this.options.geom_name == 'LineString' || this.options.geom_name ==
> 'MultiLineString' || this.options.geom_name == 'Unknown') {
> if (this.options.geom_name == 'Polygon' || this.options.geom_name ==
> 'MultiPolygon' || this.options.geom_name == 'Unknown') {
> if (this.options.geom_name == 'Point' || this.options.geom_name ==
> 'MultiPoint' || this.options.geom_name == 'Unknown') {
> }}}

New description:

 I try to create my form with GeoDjango and I didn't found an good example
 in document.

 So, I use `django/contrib/gis/static/gis/js/OSMapWidget.js` and found that
 have some of bugs.

 First, in line 173 (miss .) eg. if `geom_name = 'MultiPoint'`, then
 `options['geom_type']` will be `OpenLayers.GeometryMultiPoint`

 {{{
 else options['geom_type'] = eval('OpenLayers.Geometry' +
 options['geom_name']);
 }}}

 changed to

 {{{
 else options['geom_type'] = eval('OpenLayers.Geometry.' +
 options['geom_name']);
 }}}

 Second, line 181 (check is_collection) It is wrong use of function
 "isinstanceof". It cannot check constructor isinstanceof constructor.

 {{{
 is_collection: options['geom_name'] instanceof
 OpenLayers.Geometry.Collection,
 }}}

 changed to

 {{{
 is_collection: (options['geom_name'].substr(0, 5) == 'Multi' || options[
 'geom_type' ] == 'GeometryCollection'),
 }}}

 Third,  in function getControls (line 366, 369, 372) These are not check
 for Collection.

 {{{
 if (this.options.geom_name == 'LineString'' || this.options.geom_name ==
 'Unknown') {
 if (this.options.geom_name == 'Polygon'  || this.options.geom_name ==
 'Unknown') {
 if (this.options.geom_name == 'Point'  || this.options.geom_name ==
 'Unknown') {
 }}}

 changed to

 {{{
 if (this.options.geom_name == 'LineString' || this.options.geom_name ==
 'MultiLineString' || this.options.geom_name == 'Unknown') {
 if (this.options.geom_name == 'Polygon' || this.options.geom_name ==
 'MultiPolygon' || this.options.geom_name == 'Unknown') {
 if (this.options.geom_name == 'Point' || this.options.geom_name ==
 'MultiPoint' || this.options.geom_name == 'Unknown') {
 }}}

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/23137#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.8252d50c7bcb9be720660442d68f25c2%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to