How to style points and lines in Leaflet L.Control.Layers - json

I created an interactive web map using Leaflet.
I have several layers in the map, and I use L.Control.Layers.Tree to arrange them.
I have successfully added them to the map, everything is working properly.
My question is how to change the default symbols for layers with points and for those with lines ?
I am attaching a photo of the code with which I add a layer to the map:
Layers-code
The content of json:
jSON-content
How map looks like with default points and lines:
Point Layer
Lines Layer

Related

Create custom map overlay (polylines) [Mapbox]

I have a Flutter project using flutter_map and tiles from Mapbox. I also have a very large list of coordinates to create polylines on the map. The coordinates are worldwide geographical boundaries. It's working fine but when displaying the polylines the map gets a bit unresponsive due to the amount of polyline data.
How would I be able to create a custom map with the coordinates/polyline data already embedded in the map to avoid having to draw polylines separately?
Thanks
You could use Mapbox Studio to create a map style with sources and layers referencing these coordinates/polyline data. This tutorial on creating a custom style is a great place to get started.

MapBox. Hide layer at custom style

I have two tileset with coordinate (created from GeoJSON file):
tilest # 1. Point on map.
tilest # 2. Route on map.
Both tilesets are so big - so, I don't what to make client to download data source and filter it.
I've created custom Mapbox style and added two layers with these tilesets as data sources.
I want to show the map from style:
without these custom layers
with only first layer
with only second layer
with both layers
Is it possible to do with Mapbox Static API (https://www.mapbox.com/api-documentation/#static)? Or mapbox caches and makes rasterisation from all layers in style and separate them is not possible?
In general, what is the best strategy for huge tilesets? Should I make different style for every case and switch them on client?

FusionTables layer above polygon

On my website: http://mapa.polskieszlaki.pl/ I'm using FusionTables for displaying markers (over 5000 of them). I've got also GroundLayer with regions (pink ones). But I wanted to change them to polygon (less loading) and have one problem.
FusionTable layer is below polygon and I want it to be above (markers are most important).
Is there a way to do it?
Put the polygon in a FusionTableLayer, load that first, then load the FusionTablesLayer with the markers.

Change Google Maps direction line to icons

Is there a way to change the default Google Maps direction line, the blue line that you are meant to follow, into a series of icons?
So instead of having a blue line showing the route on the map, I'd like to replace this with a series of small icons.
Or, if that isn't possible, can I place icons along the route in say 1km increments?
I see plenty of examples of replacing the start and end markers but not of the line.
Yes, it is possible. One option:
PolylineOptions to the DirectionsRenderer, you can also apply symbols to the Polyline
(example using a "dash" symbol)
or extract the route data and use it to put icons at all the vertices on the polyline (like the answer to this question, but with a transparent polyline)
example of a custom DirctionsRenderer
markers every 2km on a Polyline
markers at 2 arbitrary distances on a directions polyline

Google Maps v3 API: KML layer messing with click, mouse events

I'm working on a project where, after creating some nice code for creating polygons and attaching mouse events to them, the addition of KML layers (mainly placemarkers) results in uncooperative behaviour between the placeholders of the KML layer and the generated polygons.
If I create the polygons first and set the KML file afterwards, clicking on the placemarkers brings up the infowindow () as expected. However, mouseovers on the polygons below yield no result, whereas before they get highlighted and are clickable (which they aren't).
Setting the KML layer to null doesn't help either. The placemarkers disappear, but my polygons aren't registering.
When I first call the KML with placemarkers, the polygon layer called later goes on top of the placemarkers. The polygons are opaque, so you can see the placemarkers like you could through a window, but you can't click or interact with the placemarkers.
Setting the polygons to null results in the same behaviour as before. Placeholders still cannot be clicked on.
Help? I couldn't find a zIndex reference for the KML layer code, and I'm hoping that's all it is. I read somewhere else - and imagine this to be true - that the KML and user-gernated content "layers" are conflicting with one another - the latter one that's put on the map takes focus, captures events, etc. I would've thought that it wouldn't matter, in the same way that you can have divs on top of other divs, especially if you use indexing.
If you simply want to display the information in the KML layer and not have it react to user events, you can add the suppressInfoWindows flag to the constructor:
var myKmlLayer = new google.maps.KmlLayer('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml', { suppressInfoWindows: true });
This will effectively shut off all interactions and let your other layers receive interactions.
Edit: Forgot to mention that a good source of information is the Google API V3 site discussing KML layers