[khtml.maplib] Re: clear markers

  • From: Mátrai Tamás <tmatrai@xxxxxxxxxxx>
  • To: khtml.maplib@xxxxxxxxxxxxx
  • Date: Tue, 30 Aug 2011 19:15:35 +0200

Hello Ewald!

Now it is okkey! :)

The misunderstanding was caused by 
http://mt091110.students.fhstp.ac.at/gsoc/v2/khtml_marker.html
It is in OSM WIKI, and in its source code mr.Size and mr.Point was used, so I 
get it from there.

I'll go on and test on.

Thx:
Tamas

On Aug 30, 2011, at 7:04 PM, Ewald Wieser wrote:

> Hello again,
> 
> there is an API-documentation in the zip-file and some examples for the 
> markers as well.
> maybe this can help you.
> 
> btw: i just made another change in the lib today deleting two classes 
> (mr.Size and mr.Point).
> so you might want to replace the definitions for image and shadow with:
> 
>       // define icon
>       var image = new mr.overlay.MarkerImage(
>         'img/image.png',
>         {width: 20, height: 20},
>         {x: 0, y: 0},
>         {x: 10, y: 20}
>       );
> 
>       // define shadow
>       var shadow = new mr.overlay.MarkerImage(
>         'img/shadow.png',
>         {width: 34, height: 20},
>         {x: 0, y: 0},
>         {x: 10, y: 20}
>       );
> 
> if you need further help, it would be good if you could paste the output of 
> the developer-tool console of your browser.
> 
> hope this helps.
> br ewald
> 
> 
> Am 30.08.2011 um 18:17 schrieb Mátrai Tamás:
> 
>> Hello Eward!
>> 
>> Thx for the fast reply!
>> 
>> I have downloaded your fixed code but unfortunately it does not work. 
>> I can not even add markers to map, so my map is empty.
>> I use the same function to show markers I sent in my previous mail.
>> When I switch back to the 'old' library my markers are shown on the map - 
>> without making any changes in code.
>> I triple checked it, so it is 100% sure on my side.
>> 
>> Okkey, when I am completed I'd show you!
>> 
>> BR:
>> Tamas
>> 
>> 
>> On Aug 30, 2011, at 5:49 PM, Ewald Wieser wrote:
>> 
>>> Hello Tamas,
>>> 
>>> with marker.clear() you can remove one marker from the map.
>>> Unfortunately I just found a little bug in the clear-function.
>>> I have uploaded a new version at 
>>> http://mt091110.students.fhstp.ac.at/khtml/maplib.tar.gz
>>> 
>>> If you would like to remove all overlays at once, you can use 
>>> map.removeOverlays();
>>> 
>>> Sorry for the inconvenience, but this library is still beta.
>>> But I'm glad that you like it!
>>> 
>>> Maybe you can show us the result of your work.
>>> brgds Ewald
>>> 
>>> 
>>> Am 30.08.2011 um 17:18 schrieb Mátrai Tamás:
>>> 
>>>> Hi All!
>>>> 
>>>> I am Tamas Matrai from Hungary, I've just start to play with KHTML maps.
>>>> 
>>>> It is looking great, it is very promising, thx for this great project!
>>>> I could create my app I need in some hours.
>>>> It is a simple one that shows some markers on the map, based data coming 
>>>> from GPS devices.
>>>> 
>>>> My problem is with clearing markers from the map, after adding one I can 
>>>> not clear it. It tried several ways but neither works.
>>>> 
>>>> I use GSOC improved javascript library from here: 
>>>> http://wiki.openstreetmap.org/wiki/Improving_khtml.maplib#Markers
>>>> 
>>>> My code (note this is very experimental one!):
>>>> I have a global variable: 
>>>> 
>>>> var mr = new Object(khtml.maplib);
>>>> 
>>>> The following function adds a marker to the map (markerStr some delimited 
>>>> string contains position and extra data):
>>>> 
>>>> function RefreshMarkers(markersStr)
>>>>         {
>>>>        var sentences = markersStr.split("\r\n");
>>>>             
>>>>             for (i = 0; i < sentences.length; i++) {
>>>>                 
>>>>                 var sentenceParts = sentences[i].split("%_@");
>>>>                 
>>>>                 var image = new mr.overlay.MarkerImage(
>>>>                'khtml/img/standardmarker_nor.png',
>>>>                new mr.Size(20, 20),
>>>>                new mr.Point(0, 0),
>>>>                new mr.Point(10, 20)
>>>>                );
>>>> 
>>>>                 var shadow = new mr.overlay.MarkerImage(
>>>>                'khtml/img/standardmarkershadow_nor.png',
>>>>                new mr.Size(34, 20),
>>>>                new mr.Point(0, 0),
>>>>                new mr.Point(10, 20)
>>>>                );
>>>> 
>>>>                 var shape = {
>>>>                     coord: [14, 0, 15, 1, 16, 2, 17, 3, 18, 4, 19, 5, 19, 
>>>> 6, 19, 7, 19, 8, 19, 9, 19, 10, 19, 11, 19, 12, 19, 13, 19, 14, 18, 15, 
>>>> 17, 16, 16, 17, 15, 18, 13, 19, 5, 19, 4, 18, 2, 17, 2, 16, 1, 15, 0, 14, 
>>>> 0, 13, 0, 12, 0, 11, 0, 10, 0, 9, 0, 8, 0, 7, 0, 6, 0, 5, 1, 4, 2, 3, 2, 
>>>> 2, 4, 1, 5, 0, 14, 0],
>>>>                     type: 'poly'
>>>>                 };
>>>> 
>>>>                 var pLatLng = new mr.LatLng(sentenceParts[4], 
>>>> sentenceParts[3]);
>>>>                 var marker2 = new mr.overlay.Marker({
>>>>                     position: pLatLng,
>>>>                     map: map,
>>>>                     title: sentenceParts[1] + 
>>>>                            "\r\n" + sentenceParts[2] +
>>>>                            "\r\n" + sentenceParts[0] +
>>>>                            "\r\n" + sentenceParts[5] + " km/h" +
>>>>                            "\r\n" + sentenceParts[9]
>>>>                 });
>>>>             }
>>>>         }
>>>> 
>>>> 
>>>> So, as I said adding is OK, but later I can not remove them  (neither in 
>>>> this RefreshMarkers function for testing purposes).
>>>> So, how can I do this? Is there any way to clear all markers from a map?
>>>> 
>>>> Thanks,
>>>> BR:
>>>> Tamas
>>>> 
>>> 
>> 
> 

Other related posts: