Daha çox

CartoDB.js -də bir Google Xəritə qatının qeyri -şəffaflığını necə azaltmaq olar

CartoDB.js -də bir Google Xəritə qatının qeyri -şəffaflığını necə azaltmaq olar


İstifadəmi yüklədiyim bir CartoDB.js-Tətbiqim varcartodb.createVis(Leaflet qatlarını əl ilə təyin etmirəm).

Google Maps əsas qatının qeyri -şəffaflığını necə azalda bilərəm? Google Xəritədə 0 qat indeksi olduğu üçün aşağıdakıları sınadım.

var initializeMap = function () {// map initialization cartodb.createVis ('map', VIZAPI, {shareable: false, title: false, description: false, search: true, tile_loader: false, center_lat: 47, center_lon: 8, zoom: 9, cartodb_logo: false}) .düzələndi (funksiya (vis, qat) {// qat 0 əsas qatdır, qat 1 kartodb qatıdır // setInteraction default olaraq pəncərə.layers = qatlar; qatlar [1] .setInteraction (doğru); // qat [1] "bütün" təbəqələrdir [1] .on ('featureOver', funksiya (e, pos, latlng, data) {updateClubInfo (data.cartodb_id);}); təbəqələr [ 1] .on ('featureClick', funksiya (e, pos, latlng, data) {updateClubInfo (data.cartodb_id);}); qat [0] .setOpacity (0.3); // qat [1] .getSubLayer (0) ) .setCartoCSS () window.overlays = vis.getOverlays ();}). səhv (funksiya (səhv) {console.log (səhv);}); };

Bu kimi işləmirsetOpacityGoogle Xəritə qatında müəyyən edilməmişdir.

Məlumat qatımla Google Xəritə təbəqəsi arasında ağ, "boş" bir alt təbəqə yaratmaq və qeyri -şəffaflığını təyin etmək fikri ilə də tanış oldum. Ancaq bunu CartoDB API ilə necə edəcəyimi bilmirəm.


Google, xəritə plitələrinin özlərini tərtib etməyə imkan verir. Bunun üçün CartoDB API -yə ehtiyacınız olmayacaq. Xəritə qatının əsl "qeyri -şəffaflığı" deyil, ancaq istədiyiniz effekt olduğuna inandığım nəticəyə çatmaq üçün xəritə üslubundan istifadə edərək xəritə plitələrinin yüngüllüyünü dəyişə bilərsiniz.

Nümunələr üçün https://developers.google.com/maps/documentation/javascript/styling səhifəsinə baxın. Bununla belə, başlamağınız üçün biri:

function initialize () {// Bir sıra üslublar yaradın. var stillər = [{stilistlər: [{yüngüllük: 50}]}]; // Yeni StyledMapType obyekti yaradın, onu üslublar silsiləsindən keçirin, // həm də xəritə növü nəzarətində göstəriləcək adı. var styledMap = yeni google.maps.StyledMapType (üslublar, {adı: "Üslublu Xəritə"}); // Xəritə obyekti yaradın və // xəritənin növünə nəzarətə // əlavə etmək üçün MapTypeId daxil edin. var mapOptions = {zoom: 11, center: new google.maps.LatLng (55.6468, 37.581), mapTypeControlOptions: {mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style']}}; var map = new google.maps.Map (document.getElementById ('map-canvas'), mapOptions); // Səpkili xəritəni MapTypeId ilə əlaqələndirin və onu göstərin. map.mapTypes.set ('map_style', styledMap); map.setMapTypeId ('map_style'); }

İş Demosu: http://savedbythegoog.appspot.com/?id=9543a269e6d0ac93abc600f9d58d12db456f33bc


Videoya baxın: Using v4