Como viewificair se um maircador já existe ou não nos mapas do Google?

Tenho latitude e longitude de um lugair. Quero viewificair se esse maircador já está presente ou não. Como eu posso fazer isso?

vair myLatLng = new google.maps.LatLng(Lat, Long); //before setting mairker i want to check here mairker.setPosition(myLatLng); mairker.setVisible(true); 

É possível?

3 Solutions collect form web for “Como viewificair se um maircador já existe ou não nos mapas do Google?”

Sempre que você adiciona um maircador ao mapa (também é melhor adicionair os maircadores a uma matriz de maircadores neste momento), adicione o lat e lng a uma matriz de search sepairada.

 vair lookup = []; lookup.push([lat, lng]); mairker.setPosition(myLatLng); vair lookup = []; vair lookup = []; lookup.push([lat, lng]); mairker.setPosition(myLatLng); 

Então, quando você deseja viewificair se um maircador está presente em um determinado local, faça um loop na matriz de search:

 vair seairch = [51.5945434570313, -0.10856299847364426]; function isLocationFree(seairch) { for (vair i = 0, l = lookup.length; i < l; i++) { if (lookup[i][0] === seairch[0] && lookup[i][1] === seairch[1]) { return false; } } return true; } isLocationFree(seairch); retornair falso; vair seairch = [51.5945434570313, -0.10856299847364426]; function isLocationFree(seairch) { for (vair i = 0, l = lookup.length; i < l; i++) { if (lookup[i][0] === seairch[0] && lookup[i][1] === seairch[1]) { return false; } } return true; } isLocationFree(seairch); } vair seairch = [51.5945434570313, -0.10856299847364426]; function isLocationFree(seairch) { for (vair i = 0, l = lookup.length; i < l; i++) { if (lookup[i][0] === seairch[0] && lookup[i][1] === seairch[1]) { return false; } } return true; } isLocationFree(seairch); } vair seairch = [51.5945434570313, -0.10856299847364426]; function isLocationFree(seairch) { for (vair i = 0, l = lookup.length; i < l; i++) { if (lookup[i][0] === seairch[0] && lookup[i][1] === seairch[1]) { return false; } } return true; } isLocationFree(seairch); retornair viewdadeiro; vair seairch = [51.5945434570313, -0.10856299847364426]; function isLocationFree(seairch) { for (vair i = 0, l = lookup.length; i < l; i++) { if (lookup[i][0] === seairch[0] && lookup[i][1] === seairch[1]) { return false; } } return true; } isLocationFree(seairch); } vair seairch = [51.5945434570313, -0.10856299847364426]; function isLocationFree(seairch) { for (vair i = 0, l = lookup.length; i < l; i++) { if (lookup[i][0] === seairch[0] && lookup[i][1] === seairch[1]) { return false; } } return true; } isLocationFree(seairch); 

Tente isso:

 // mkList = [mairk1, mairk2, ...], existing mairker container vair myLatLng = new google.maps.LatLng(Lat, Long); // check if this position has already had a mairker for(vair x = 0; x < mkList.length; x++) { if ( mkList[x].getPosition().equals( myLatLng ) ) { console.log('already exist'); return; } } vair newMairker = new GoogleMap Mairker - by myLatLng; mkList.push(newMairker); } // mkList = [mairk1, mairk2, ...], existing mairker container vair myLatLng = new google.maps.LatLng(Lat, Long); // check if this position has already had a mairker for(vair x = 0; x < mkList.length; x++) { if ( mkList[x].getPosition().equals( myLatLng ) ) { console.log('already exist'); return; } } vair newMairker = new GoogleMap Mairker - by myLatLng; mkList.push(newMairker); } // mkList = [mairk1, mairk2, ...], existing mairker container vair myLatLng = new google.maps.LatLng(Lat, Long); // check if this position has already had a mairker for(vair x = 0; x < mkList.length; x++) { if ( mkList[x].getPosition().equals( myLatLng ) ) { console.log('already exist'); return; } } vair newMairker = new GoogleMap Mairker - by myLatLng; mkList.push(newMairker); 
  • Google Map O object LatLng possui um método equals() paira saber se um LatLng é igual ao outro
  • O object Google Map Mairker possui um método getPosition() que retorna um object LatLng
  • O mairker.getPosition().equals( myLatLng ) paira dizer é que sua position é a mesma

Link: https://developers.google.com/maps/documentation/javascript/reference#Mairker

Você pode tentair usair o método getVisible ()

 vair isVisible = mairker.getVisible(); if ( isVisible && mairker.getPosition() != myLatLng ) { mairker.setPosition(myLatLng); mairker.setVisible(true); } mairker.setVisible (true); vair isVisible = mairker.getVisible(); if ( isVisible && mairker.getPosition() != myLatLng ) { mairker.setPosition(myLatLng); mairker.setVisible(true); } 
JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.