Basit bir veri katmanı ekleme
Azure Haritalar Web SDK'sı, sınıf içeren SimpleDataLayer
bir Uzamsal GÇ modülü sağlar. Bu sınıf, stilli özelliklerin haritada işlenmesini kolaylaştırır. Karma geometri türleri içeren stil özelliklerine ve veri kümelerine sahip veri kümelerini bile işleyebilir.
Basit veri katmanı, birden çok işleme katmanını sarmalayarak ve stil ifadelerini kullanarak bu işlevi elde eder. Stil ifadeleri, ortak stil özellikleri için sarmalanmış katmanları arar.
atlas.io.read
ve atlas.io.write
işlevleri, stilleri desteklenen bir dosya biçiminde okumak ve yazmak için bu özellikleri kullanır. Desteklenen bir dosya biçimine özellikler eklediğinizde, dosyayı harita üzerinde stil özellikleri görüntüleme gibi amaçlar için kullanabilirsiniz.
sınıfı SimpleDataLayer
, açılır şablonla birlikte yerleşik bir açılır pencere özelliği de sağlar. Bir özellik seçildiğinde açılır pencere görüntülenir. Bu katman, kümelenmiş verileri de destekler. Bir küme seçildiğinde, harita kümeyi yakınlaştırır ve tek tek noktalara ve alt kümelere genişletir. İhtiyacınız yoksa açılır menü özelliğini devre dışı bırakabilirsiniz.
SimpleDataLayer
sınıfı, birçok uygulanan geometri türüne ve stiline sahip özellikler içeren büyük veri kümelerinde kullanılmak üzere tasarlanmıştır. Bu sınıfı kullandığınızda, stil ifadeleri içeren altı katmana ek yük ekler. Bir özellikte yalnızca birkaç geometri türünü ve stilini işlemeniz gerekiyorsa, çekirdek işleme katmanını kullanmak daha verimli olabilir. Daha fazla bilgi için bkz. Haritaya kabarcık katmanı ekleme, Haritaya çizgi katmanı ekleme ve Haritaya çokgen katmanı ekleme.
Basit bir veri katmanı kullanma
Sınıfını SimpleDataLayer
diğer işleme katmanları gibi kullanabilirsiniz. Aşağıdaki kod, haritada basit bir veri katmanının nasıl kullanılacağını gösterir:
//Create a data source and add it to the map.
var datasource = new atlas.source.DataSource();
map.sources.add(datasource);
//Add a simple data layer for rendering data.
var layer = new atlas.layer.SimpleDataLayer(datasource);
map.layers.add(layer);
Aşağıdaki kod parçacığı, çevrimiçi bir kaynaktan alınan verilere başvuran basit bir veri katmanının nasıl kullanılacağını gösterir:
<script src="https://atlas.microsoft.com/sdk/javascript/spatial/0/atlas-spatial.min.js"></script>
<script>
function InitMap() {
var map = new atlas.Map("myMap", {
center: [-73.967605, 40.780452],
zoom: 12,
view: "Auto",
//Add authentication details to connect to Azure Maps.
authOptions: {
// Get an Azure Maps key at https://azuremaps.com/.
authType: "subscriptionKey",
subscriptionKey: '{Your-Azure-Maps-Subscription-key}'
}
});
//Wait until the map resources are ready.
map.events.add("ready", function () {
//Create a data source and add it to the map.
var datasource = new atlas.source.DataSource();
map.sources.add(datasource);
//Add a simple data layer for rendering data.
var layer = new atlas.layer.SimpleDataLayer(datasource);
map.layers.add(layer);
//Load an initial data set.
const dataSet = {
type: "FeatureCollection",
bbox: [0, 0, 0, 0],
features: [
{
type: "Feature",
geometry: {
type: "Point",
coordinates: [0, 0]
},
properties: {
color: "red"
}
}
]
};
loadDataSet(dataSet);
function loadDataSet(r) {
//Update the features in the data source.
datasource.setShapes(r);
//If bounding box information is known for data, set the map view to it.
if (r.bbox) {
map.setCamera({
bounds: r.bbox,
padding: 50
});
}
}
});
}
</script>
Veri kaynağına özellik eklediğinizde, basit veri katmanı bunları en uygun şekilde işler. Stilleri her bir özellik için özellik olarak ayarlayabilirsiniz.
Yukarıdaki örnek kod, özelliği olarak ayarlanmış red
bir Coğrafi JavaScript Nesne Gösterimi (GeoJSON) noktası özelliğini color
gösterir.
Örnek kod, basit veri katmanını kullanarak nokta özelliğini işler ve sonuç aşağıdaki gibi görünür.
Not
Veri kaynağındaki "coordinates": [0, 0]
değer, eşleme başlatıldığında ayarladığınız koordinatları center: [-73.967605, 40.780452]
geçersiz kılar.
Basit veri katmanı, aşağıdaki senaryolarda güçlü bir araçtır:
- Veri kaynağı birkaç özellik türü içerir.
- Veri kümesindeki özellikler, ayrı ayrı ayarlanmış çeşitli stil özelliklerine sahiptir.
- Veri kümesinin ne içerdiğinden emin değilsiniz.
Örneğin, XML veri akışlarını ayrıştırırken özelliklerin stilini ve geometri türlerini bilmiyor olabilirsiniz.
Basit veri katmanı seçenekleri örneği, basit veri katmanının anahtar deliği biçimlendirme dili (KML) dosyasının özelliklerini nasıl işledini gösterir. Sınıftaki SimpleDataLayer
seçenekleri de görebilirsiniz. Bu örneğin kaynak kodu için GitHub'daki Azure Haritalar kod örneklerinde Basit veri katmanı options.html bölümüne bakın.
Not
Bu basit veri katmanı, KML balonlarını veya özellik özelliklerini tablo olarak görüntülemek için açılır şablon sınıfını kullanır. Varsayılan olarak, açılan pencerede işlenen tüm içerik bir iFrame içinde güvenlik özelliği olarak korumalı olarak bulunur. Ancak, sınırlamalar vardır:
- Tüm işaretçi kilidi işlevleri, en üst gezinti işlevleri, betikler ve formlar devre dışı bırakılır. Bağlantılar seçildiğinde yeni bir sekmede açılabilir.
- iFrame'lerde parametresini
srcdoc
desteklemeyen eski tarayıcılar yalnızca az miktarda içerik işleyebilir.
Açılan pencerelere yüklenen verilere güveniyorsanız ve açılan betiklerin uygulamanıza erişebilmesini istiyorsanız, bu özelliği devre dışı bırakabilirsiniz. Açılan şablondaki seçeneğini olarak ayarlamanız sandboxContent
gerekir false
.
Varsayılan desteklenen stil özellikleri
Basit veri katmanı çekirdek işleme katmanlarından birkaçını sarmalar: kabarcık, sembol, çizgi, çokgen ve ekstrüze edilmiş çokgen. Tek tek özelliklerde geçerli stil özelliklerini aramak için ifadeleri kullanır.
Desteklenen iki ana özellik adı kümesi Azure Haritalar ve GitHub'dır. Azure Haritalar katmanı seçeneklerinin çoğu özellik adı, özelliklerin stil özellikleri olarak basit veri katmanında desteklenir. Bazı katman seçenekleri, GitHub'ın yaygın olarak kullandığı stil özellik adlarını destekleyen ifadeler içerir.
GitHub'ın GeoJSON eşleme desteği , platformda depolanan ve işlenen GeoJSON dosyalarına stil eklemek için kullanılan bu özellik adlarını tanımlar. Stil özellikleri dışında GitHub'ın stil özelliklerinin çoğu basit veri katmanında marker-symbol
desteklenir.
Okuyucu daha az yaygın bir stil özelliğiyle karşılaşırsa, bunu en benzer Azure Haritalar stil özelliğine dönüştürür. Ayrıca, basit veri katmanının işlevini kullanarak getLayers
ve katmanlardan herhangi birinde seçenekleri güncelleştirerek varsayılan stil ifadelerini geçersiz kılabilirsiniz.
Aşağıdaki bölümlerde, basit veri katmanının desteklediği varsayılan stil özellikleriyle ilgili ayrıntılar sağlanır. Desteklenen özellik adlarının sırası da önceliktir. Aynı katman seçeneği için iki stil özelliği tanımlanmışsa, listedeki ilk özellik önceliklidir. Renkler herhangi bir CSS3 renk değeri (HEX, RGB, RGBA, HSL, HSLA) veya adlandırılmış renk değeri olabilir.
Kabarcık katmanı stili özellikleri
Bir özellik Point
veya MultiPoint
ise ve noktayı simge olarak işlemek için özel simge olarak kullanılacak bir görüntü özelliğine sahip değilse, ile işlenir BubbleLayer
.
Katman seçeneği | Desteklenen özellik adları | Default value |
---|---|---|
color |
color , marker-color |
'#1A73AA' |
radius |
size
1, marker-size 2, scale 1 |
8 |
strokeColor |
strokeColor , stroke |
'#FFFFFF' |
1 Boyut ve ölçek değerleri skaler değerler olarak kabul edilir ve 8 ile çarpılır.
2 GitHub marker-size
seçeneği belirtilirse radius aşağıdaki değerleri kullanır:
İşaretçi boyutu | Radius |
---|---|
small |
6 |
medium |
8 |
large |
12 |
Kümeler kabarcık katmanında da işlenir. Varsayılan olarak, bir kümenin yarıçapı 16 olarak ayarlanır. Kümenin rengi, aşağıdaki tabloda tanımlandığı gibi kümedeki nokta sayısına bağlı olarak değişir:
Puan sayısı | Color |
---|---|
>= 100 | red |
>= 10 | yellow |
< 10 | green |
Sembol stili özellikleri
Bir özellik veya MultiPoint
isePoint
, noktayı simge olarak işlemek için özel simge olarak kullanılan bir görüntü özelliğine sahipse, ile SymbolLayer
işlenir.
Katman seçeneği | Desteklenen özellik adları | Default value |
---|---|---|
image |
image |
none |
size |
size , marker-size 1 |
1 |
rotation |
rotation |
0 |
offset |
offset |
[0, 0] |
anchor |
anchor |
'bottom' |
1 GitHub marker-size
seçeneği belirtilirse simge boyutu seçeneği için aşağıdaki değerler kullanılır:
İşaretçi boyutu | Simge boyutu |
---|---|
small |
0.5 |
medium |
1 |
large |
2 |
Nokta özelliği bir kümeyse, point_count_abbreviated
özellik metin etiketi olarak işlenir. Görüntü işlenmez.
Çizgi stili özellikleri
Özellik bir LineString
, MultiLineString
, Polygon
veya MultiPolygon
ise, ile LineLayer
işlenir.
Katman seçeneği | Desteklenen özellik adları | Default value |
---|---|---|
strokeColor |
strokeColor , stroke |
'#1E90FF' |
strokeWidth |
strokeWidth , stroke-width , stroke-thickness |
3 |
strokeOpacity |
strokeOpacity , stroke-opacity |
1 |
Çokgen stil özellikleri
Özellik bir Polygon
veya MultiPolygon
ise ve height özelliği yoksa veya height özelliği sıfırsa, ile PolygonLayer
işlenir.
Katman seçeneği | Desteklenen özellik adları | Default value |
---|---|---|
fillColor |
fillColor , fill |
'#1E90FF' |
fillOpacity |
fillOpacity , 'fill-opacity |
0.5 |
Ekstrüde edilmiş çokgen stil özellikleri
Özellik bir Polygon
veya MultiPolygon
ise ve sıfırdan büyük bir değere sahip height özelliğine sahipse, ile PolygonExtrusionLayer
işlenir.
Katman seçeneği | Desteklenen özellik adları | Default value |
---|---|---|
base |
base |
0 |
fillColor |
fillColor , fill |
'#1E90FF' |
height |
height |
0 |
İlgili içerik
Bu makalede sınıflar ve yöntemler hakkında daha fazla bilgi edinin:
Haritalarınıza eklenecek daha fazla kod örneği almak için aşağıdaki makalelere bakın: