That's a really nice map application.
A Couple of notes which may have relevance to this issue. On Android
phones, polylines and polygons are implemented using the canvas 2d tag
where on any other browser they are implemented as SVG or VML. This
has some side effects which Marc Ridey talked about this during his I/
O session - especially when it came to events.
Secondly, I notice you are adding prototypes to maps objects. While
I've done it myself in the past, it's always a risky behavior as
future changes can (and do) break that type of code. Consider using
wrapper objects for your customizations. Something like:
function PolylineWrapper(myPolyline, clickAction) {
this.clickAction = clickAction;
this.polyline = myPolyline;
}
Keep us posted on your project. That could be really useful.
Chad Killingsworth
On May 25, 9:26 am, "R.Schaffranek" <[email protected]>
wrote:
> Hello
>
> I posted this before, but I have been working on it since and I was
> able to narrow done the problem.
>
> I am developing for smart Phones and the V3 is really a "great step
> forward".
>
> However on my MAC everything works just fine, on my Smart Phone (HTC
> desire) not.
>
> A soon as I call the setOptions method on a Polygon or a Polyline I
> loose the click Event of the Overlay until I zoom the map then the
> event starts working again.
>
> Link:
>
> http://sheep.stylebar.de/DRAW/map.html
>
> Code snippet:
>
> google.maps.Polyline.prototype.ClickAction = ClickAction;
> function ClickAction(LatLng,polyOptions) {
> switch(this.ClickCount)
> {
> case 0:
> var str = "<div class='WindowText'>Path Length: " +
> this.LineLength() + " m</div>";
> this.window = new google.maps.InfoWindow({content: str});
> this.window.setPosition(LatLng);
> this.window.open(map);
> this.ClickCount++;
> this.ClickCount%=3;
> break;
> case 1:
> this.window.close();
> this.time = new Date();
> this.time = this.time.getTime();
>
> // implement editability...
>
> this.ClickCount++;
> this.ClickCount%=3;
> break;
> case 2:
> var currentTime = new Date();
> currentTime = currentTime.getTime();
> if (currentTime - this.time < 500) {
> this.setOptions(polyOptions);
> }else {
> // clear markers...
> }
> this.ClickCount++;
> this.ClickCount%=3;
> break;
> default :
> this.ClickCount = 0;
> }
>
> }
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Maps JavaScript API v3" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group
> athttp://groups.google.com/group/google-maps-js-api-v3?hl=en.
--
You received this message because you are subscribed to the Google Groups
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-maps-js-api-v3?hl=en.