adith visnu
Posts: 0
Joined: Mon Jul 07, 2014 6:32 am

Hide Markers in different function

Hi Appery!

when i adding markers, it places in another function between add and hiding markers.

i've tried use "setVisible(false)" and "setMap(null)" when try to hiding all markers. but there were error. undefinied function on it.

any suggest?

Thank you

Evgene Karachevtsev
Posts: 12
Joined: Mon Apr 28, 2014 1:12 pm

Hide Markers in different function

Hell Adith,

Could you please give us step-by-step instruction how do you add these markers?

adith visnu
Posts: 0
Joined: Mon Jul 07, 2014 6:32 am

Hide Markers in different function

Hi evgene, we met again here. lol

I have a button. The button is like toogle button, on off conditions.
Its invoke 2 services when ON CONDITION:

The steps are:

1) Invoke one database service(list) is for search data from collection.

2) On success event from first collections, it's invoking database(list) for retrieve data from another collections. On this service, I use to show the markers, which marker's data are set from this database service. And it done. Markers shown

*i didn't use array for store the data

When markers shown, button condition is on. But when it clicked again, it change condition to off.
In OFF CONDITION, i want to clear this map.

if my answer is makes you feel confuse. maybe its makes you clear about this problem.

1)
Image

2) Image

3) Image

4) Image

5) i want to clear this marker on button like toogle
Image

Evgene Karachevtsev
Posts: 12
Joined: Mon Apr 28, 2014 1:12 pm

Hide Markers in different function

Adith,

You should save all the handles to the array. Then you will be able to show or hide them at any time

adith visnu
Posts: 0
Joined: Mon Jul 07, 2014 6:32 am

Hide Markers in different function

Hi evgene,

Can i hide or show the markers if the array placed in another function? ?

adith visnu
Posts: 0
Joined: Mon Jul 07, 2014 6:32 am

Hide Markers in different function

var id_dev = localStorage.getItem('id_device');

var kondisi = localStorage.getItem("kondisiTrack");
//alert(kondisi);

if (kondisi == 'off') {
untukTrack.execute({
"data": {"where": '{"idPenambah":"' + id_dev + '"}'},
success: function(data) {
var dariStorage = localStorage.getItem('pinYangSudahDiTrack');
var dataPin = JSON.parse(dariStorage);
var arrayPin = [];

Code: Select all

         for (var i = 0, j = dataPin.length; i < j; i++) { 
             console.log(dataPin[i].idYangDiTrack); 
             arrayPin.push(dataPin[i].idYangDiTrack); 
         } 

         var kondisiWhere = {"PIN": {"$in": arrayPin}}; 
         localStorage.setItem('pinYangSudahDiTrack', ''); 

         track.execute({ 
             "data": {"where": JSON.stringify(kondisiWhere)}, 
             success: function(data) { 
                 var ambilLokasi = localStorage.getItem('lokasi'); 
                 var ubahJsonLokasi = JSON.parse(ambilLokasi); 
                 var marker; 

                 var array = []; 

                 for (var i = 0, j = ubahJsonLokasi.length; i < j; i++) { 
                     marker = new google.maps.Marker({ 
                         position: new google.maps.LatLng(ubahJsonLokasi[i].Latitude, ubahJsonLokasi[i].Longtitude), 
                         animation: google.maps.Animation.BOUNCE, 
                         map: Appery("maps").gmap 
                     }); 
                     array.push(i); 
                 } 
             } 
         }); 

     } 
 }); 

 Appery('track').text("STOP"); 
 localStorage.setItem("kondisiTrack", 'on'); 

} else {
Appery('track').text("TRACK");
localStorage.setItem("kondisiTrack", 'off');
//Appery('marker').setVisible(false);
//I WANT to HIDE MARKERs HERE
}

Appery('track').refresh();
console.log(localStorage.getItem("kondisiTrack"));

Kateryna Grynko
Posts: 0
Joined: Thu Nov 15, 2012 9:13 am

Hide Markers in different function

Hi Adith,

1) I would recommend that you make the array with markers global, so it is available in any function.

2) If I understand you correctly, you created an array 'array' for markers. You should save there markers instead of index "i". Please replace:prearray&#46;push(i);/preWith:prearray&#46;push(marker); /pre3) Use this code to hide markers:prefor (var j = 0, len = array&#46;length; j < len; j++) {
array[j]&#46;setVisible[false];
}/pre

adith visnu
Posts: 0
Joined: Mon Jul 07, 2014 6:32 am

Hide Markers in different function

hi Katya!.
but when i want to know the array value, its an error : "Uncaught SyntaxError: Unexpected end of input"
i use an alert on

for (var i = 0, j = ubahJsonLokasi.length; i < j; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(ubahJsonLokasi.Latitude, ubahJsonLokasi.Longtitude),
animation: google.maps.Animation.BOUNCE,
map: Appery("maps").gmap
});
arrayMarker.push(marker); //add into global array
}
alert(arrayMarker); //show the value that stored before

adith visnu
Posts: 0
Joined: Mon Jul 07, 2014 6:32 am

Hide Markers in different function

for (var j = 0, len = array.length; j < len; j++) {
array[j].setVisible[false]; // error here
}

expected an assignment or function call and instead saw an expression.

adith visnu
Posts: 0
Joined: Mon Jul 07, 2014 6:32 am

Hide Markers in different function

update

var id_dev = localStorage.getItem('id_device');

var kondisi = localStorage.getItem("kondisiTrack");

if (kondisi == 'off') {
untukTrack.execute({
"data": {
"where": '{"idPenambah":"' + id_dev + '"}'
},
success: function(data) {
var dariStorage = localStorage.getItem('pinYangSudahDiTrack');
var dataPin = JSON.parse(dariStorage); //ERROR LINE
var arrayPin = [];

Code: Select all

         for (var i = 0, j = dataPin.length; i < j; i++) { 
             console.log(dataPin[i].idYangDiTrack); 
             arrayPin.push(dataPin[i].idYangDiTrack); 
         } 

         var kondisiWhere = { 
             "PIN": { 
                 "$in": arrayPin 
             } 
         }; 
         localStorage.setItem('pinYangSudahDiTrack', ''); 

         track.execute({ 
             "data": { 
                 "where": JSON.stringify(kondisiWhere) 
             }, 
             success: function() { 
                 var ambilLokasi = localStorage.getItem('lokasi'); 
                 var ubahJsonLokasi = JSON.parse(ambilLokasi); 
                 var marker; 

                 for (var i = 0, j = ubahJsonLokasi.length; i < j; i++) { 
                     marker = new google.maps.Marker({ 
                         position: new google.maps.LatLng(ubahJsonLokasi[i].Latitude, ubahJsonLokasi[i].Longtitude), 
                         animation: google.maps.Animation.BOUNCE, 
                         map: Appery("maps").gmap 
                     }); 
                     arrayMarker.push(marker); 
                 } 
             } 
         }); 

     } 
 }); 

 Appery('track').text("STOP"); 
 localStorage.setItem("kondisiTrack", 'on'); 

} else {
arrayMarker = [];
Appery('track').text("TRACK");
localStorage.setItem("kondisiTrack", 'off');
}

Appery('track').refresh();
console.log(localStorage.getItem("kondisiTrack"));

//ERROR LINE message :
Uncaught SyntaxError: Unexpected end of input VM1127:485
untukTrack.execute.success VM1127:485
fire jquery-1.9.1.js:1037
self.fireWith jquery-1.9.1.js:1148
done jquery-1.9.1.js:8074
callback

Return to “Issues”