Google Haritada SVG yalnızca bir kısmını Projelendirme

1 Cevap php

Ben isterim ki, SVG dosyaları var:

  1. düz Öklkimlik projeksiyon (econym.org.uk / GMap / example_custommapflat.htm) ile özel zemin kaplaması olarak ihracat ve kullanımı.
  2. only polygons almak ve Google Haritada bunları yansıtmak

Benim SVG dosyalarını ortak bazı kurallar vardır:

  1. hepsi 4096x4096px vardır
  2. Haritanın ana nesneler merkezli

http://dev.ondigital.eu/map/map.php * (svg, png ve diğer dosyaları görmek için URL'den map.php kaldırmak) - Ben burada görülebilir biri bazı deneyler yaptık,. Gördüğünüz gibi, sorun çokgenler noktaları yerine boy oranı kesinlikle yanlıştır + merkezli olmanın sol tarafında yansıtılan ediliyor olmasıdır.

Yani soru şu: boy oranını hesaplamak için nasıl, ne zaman:

  1. SVG en ViewBox özniteliği
  2. SVG en ViewBox niteliğinin mevcut değildir ve / veya her bir çokgen (bizim map.svg gibi) transforme edilmelkimlikir.

Ve ne offset (nesne santralizasyonunun) hakkında?

Şimdkimliken teşekkürler!

* IE ile test edilmedi

1 Cevap

Eğer ContainerPixels ile DivPixels karıştırıyorsunuz mümkün mü?

Değiştirmeyi deneyin

   var latlng  = self.projection.fromPixelToLatLng(
       new GPoint(point[0], point[1]),
       self.map.getZoom()
   );

karşı

   var latlng  = self.map.fromContainerPixelToLatLng(
      new GPoint(parseFloat(point[0]), parseFloat(point[1]))
   );

In this case, the fact that you use Strings rather than Numbers probably isn't causing any problems, yet, but it's a good idea karşı use Numbers now, and avoid the possibility of the + operakarşır doing String concatenation instead of addition on your coordinates later in your project.