您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Mostra em um mapa no site do Banrisul onde ficam as agencias bancarias
- // ==UserScript==
- // @name OndeTemBanrisul
- // @namespace http://stackoverflow.com/users/982924/rasg
- // @author RASG
- // @description Mostra em um mapa no site do Banrisul onde ficam as agencias bancarias
- // @require http://code.jquery.com/jquery.min.js
- // @require https://maps.google.com/maps/api/js?sensor=false®ion=BR&callback=initialize
- // @require https://greasyfork.org/scripts/2199-waitforkeyelements/code/waitForKeyElements.js?version=5802
- // @include http*://*banrisul.com.br/bob/link/bobw00hn_onde_tem_banrisul.aspx?secao_id=111*
- // @version 2012.11.13
- // ==/UserScript==
- /*
- ----------------------------------------------------------------------------
- METODO DE CARREGAMENTO DO JQUERY (metodo_JQ):
- 1 = usar o @require do greasemonkey
- 2 = carregar o script de jquery.com e inserir na pagina
- Tente usar primeiro o metodo padrao (1) que e mais rapido
- Caso o script nao funcione, altere para (2)
- Se ainda assim nao funcionar, informe na pagina do script em userscripts.org
- ----------------------------------------------------------------------------
- */
- if (window.$ == undefined) { metodo_JQ(1) }
- else { $ = window.$ }
- var ArrCoord = [];
- var ArrAdrress = [];
- $(window).load(function(){
- var DIVmapa = document.createElement('div');
- DIVmapa.id = 'DIVmapa';
- DIVmapa.style.border = '2px coral solid';
- DIVmapa.style.cursor = 'pointer';
- DIVmapa.style.display = '';
- DIVmapa.style.height = '80%';
- DIVmapa.style.margin = '1';
- DIVmapa.style.overflow = 'hidden';
- DIVmapa.style.position = 'fixed';
- DIVmapa.style.padding = '1';
- DIVmapa.style.right = '1%';
- DIVmapa.style.top = '1%';
- DIVmapa.style.width = '35%';
- DIVmapa.style.zIndex = '998';
- var DIVinterna = document.createElement('div');
- DIVinterna.id = 'DIVinterna';
- DIVinterna.style.height = '100%';
- DIVinterna.style.width = '100%';
- DIVinterna.style.zIndex = '999';
- var DIVendereco = document.createElement('div');
- DIVendereco.id = 'DIVendereco';
- DIVendereco.style.border = '1px pink solid';
- DIVendereco.style.zIndex = '997';
- $(DIVmapa).append(DIVendereco)
- $(DIVmapa).append(DIVinterna)
- $(DIVmapa).appendTo('body')
- $('#ctl00_ctl00_ExtraConteudo03_ExtraConteudo03_listaAg tr[class!=linhaHeader]').each(function(index) {
- var ag = $.trim( $(this).children().filter('.colunaNome.itemEsquerda').text() );
- var cod = $.trim( $(this).children().filter('.colunaCodInternet.item.posicao').text() );
- var cidade = ' ' + $.trim( $('#ctl00_ctl00_Conteudo_MainContent_lblCidadeSelecionada').text() );
- var rua = $(this).children().filter('.colunaEndereco.item').text().replace(/(.*?\d*[^\D])/gi, '$1');
- var endereco = $.trim( rua.replace(/\s{2,}/g, ' ') ) + cidade;
- var fone = $.trim( $(this).children().filter('.colunaFone.item').text() );
- ArrAdrress.push(endereco)
- //console.log('adicionado ao ArrAdrress : ' + endereco)
- })
- metodo_Gmaps(2);
- });
- initialize = setTimeout(function () {
- google = unsafeWindow.google;
- directionsService = new google.maps.DirectionsService();
- directionsDisplay = new google.maps.DirectionsRenderer();
- geocoder = new google.maps.Geocoder();
- var DetectedPosition = function(position) {
- var userLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
- addMarker(userLatLng, 'Detected location')
- }
- var PortoAlegre = new google.maps.LatLng(-30.034176,-51.229212);
- var myOptions = {
- zoom: 12,
- mapTypeId: google.maps.MapTypeId.ROADMAP,
- center: PortoAlegre
- }
- map = new google.maps.Map(document.getElementById("DIVinterna"), myOptions);
- navigator.geolocation.getCurrentPosition(DetectedPosition);
- for (var i = 0; i < ArrAdrress.length; i++) {
- window.setTimeout( trap(geocodificar, [i, ArrAdrress, ArrCoord]), [i]*1000 )
- }
- /*
- for (i = 0; i < ArrCoord.length; i++) {
- var LatiLongi = new google.maps.LatLng(ArrCoord[i][1], ArrCoord[i][2])
- var PlaceName = ArrCoord[i][0]
- addMarker(LatiLongi, PlaceName)
- }
- */
- for (var x = 0; x < ArrCoord.length; x++) {
- console.log( 'ArrCoord : ' + ArrCoord[x] )
- }
- }, 1000);
- function geocodificar(i, ArrAdrress, ArrCoord) {
- geocoder.geocode({ 'address': ArrAdrress[i]}, function (results, status) {
- if (status == google.maps.GeocoderStatus.OK) {
- addMarker(results[0].geometry.location, 'ponto '+[i])
- ArrCoord.push(results[0].geometry.location)
- }
- else {
- console.log("ERRO no Geocode : " + status);
- }
- })
- //console.log( 'address no geocoder : ' + ArrAdrress[i] )
- }
- trap = function (fn, args) {
- return function() {
- return fn.apply(this, args);
- };
- };
- function addMarker(coord, plcname) {
- var marker = new google.maps.Marker({
- draggable: false,
- map: map,
- position: coord,
- title: plcname
- });
- var infowindow = new google.maps.InfoWindow({
- content: '<div class="infodiv">'+plcname+'</div>'
- });
- google.maps.event.addListener(marker, 'click', function() {
- //infowindow.setContent(ArrCoord[i][0]);
- infowindow.open(map, marker);
- });
- }
- function metodo_JQ(metodo){
- JQ = "http://code.jquery.com/jquery.js";
- JQmin = "http://code.jquery.com/jquery.min.js";
- if (metodo == 2) {
- var script = document.createElement('script');
- script.src = JQmin;
- var head = document.getElementsByTagName("head")[0];
- (head || document.body).appendChild(script);
- };
- };
- function metodo_Gmaps(metodo){
- API_js_callback = "https://maps.google.com.br/maps/api/js?sensor=false®ion=BR&callback=initialize";
- if (metodo == 2) {
- var script = document.createElement('script');
- script.src = API_js_callback;
- var head = document.getElementsByTagName("head")[0];
- (head || document.body).appendChild(script);
- };
- };