Google Map API Teknolojisi İle Web Harita Uygulamaları İ. Öztuğ Bildirici, Sevgi Böge Selçuk Üniveristesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü 42079 Kampus Konya [email protected] Özet: İnternette bilgi paylaşımı ve teknik olanaklarda yaşanan hızlı gelişme ile gelinen nokta 2004 yılından beri Web 2.0 olarak adlandırılmaktadır. Mekansal bilgi ve veri paylaşımı da Web 2.0’ın temelini oluşturan önemli bileşenlerden biridir. Bu kapsamda öne çıkan İnternet tabanlı GoogleEarth ve GoogleMaps yazılım ve teknolojileri çok geniş kapsamda mekânsal veri paylaşımını sağlamaktadır. GoogleMaps API ise GoogleMaps altyapısı üzerinde Javascript dili ile web sitesi tasarımcılarının kendi sitelerine dinamik haritalar eklemelerine olanak sağlamaktadır. Bu şekilde oluşturulan haritalar dinamik nitelikli olup GoogleMaps verilerini ve kullanıcı tarafından eklenen mekânsal verileri içerir. GoogleMaps hem harita, hem uydu görüntüsü hem de fiziki harita görüntüleyebilir. Bu çalışmada GoogleMaps API teknolojisi tanıtılarak, web harita uygulamaları ele alınmaktadır. Konya ve Selçuk Üniversitesi Yerleşkesinde yapılan uygulamalar yalnızca GoogleMaps verilerini değil, kullanıcılar tarafından eklenen noktasal, çizgisel ve alansal verilerin de sunumunu yapan özelleştirilmiş haritaları içermektedir. Bu haritalara sonradan eklenen veriler altlık verilerle uyum içinde görselleştirilmiş, bu verilere özgü lejant eklenmiş, yeni eklenen objelere açılır pencereler tanımlanarak bu objeler hakkında açıklamalar da bu pencerelere konmuştur. Ayrıca, KML (GoogleEarth özgün XML veri formatı), XML vb formatlarda verilerin GoogleMaps haritalarına nasıl ekleneceği de tartışılmaktadır. Sonuç olarak düşük maliyetli dinamikinteraktif web haritalarının oluşturulması için kolay uygulanabilir bir yaklaşım ortaya konmaktadır. Anahtar Sözcükler: Web Kartografya, Web 2.0, Google Maps, Google Maps API. Creating Map Mashups By Using Google Maps API Abstract: Google Maps is a web mapping service application and technology provided by Google, free, that powers many map based service, including the Google Maps website, and maps embedded in third-party websites via Google Maps API. In this paper this technology has been introduced, and some third-party website implementations are discussed. Keywords: Map mashup, web cartography, web 2.0, Google Maps, Google maps API. 1. Giriş İnternette bilgi paylaşımı ve teknik olanaklarda (örneğin, Wikipedia, Google Earth vb.) yaşanan hızlı gelişme ile gelinen nokta 2004 yılından beri Web 2.0 olarak adlandırılmaktadır. Web 2.0 değişik modern veri kaynakları, bu kaynaklarlarla etkileşim ya da onları web içeriği olarak bir araya getirme olanakları sunar. Web içeriklerine dinamik haritalar eklemek “map mashup” olarak bilinen bir yöntem olup, burada kullanılan mashup terimi değişik hizmetleri ve veri kaynaklarını birleştiren bir web uygulaması olarak tanımlanmaktadır. Burada web ortamında API teknolojisi kullanımı öne çıkmaktadır (URL1). Web ortamında mekansal bilgi ve veri paylaşımı Web 2.0 ile yeni bir boyut kazanmıştır. Bu bağlamda öne çıkan İnternet tabanlı Google Earth ve Google Maps yazılım ve teknolojileri çok geniş kapsamda mekânsal veri ve bilgi paylaşımı sağlamaktadır. Google Maps API ise Google Maps altyapısı üzerinde Javascript dili ile web sitesi tasarımcılarının kendi sitelerine haritalar eklemelerine olanak sağlamaktadır. Javascript bir betik dili olup, program kodu derlenmez, kullanıcı bilgisayarının tarayıcısı tarafından yorumlanır ve yürütülür. Bu şekilde oluşturulan haritalar dinamik nitelikli olup Google Maps verilerini ve kullanıcı tarafından eklenen mekânsal verileri içerir. Google Maps hem harita, hem uydu görüntüsü hem de fiziki harita görüntüleyebilir. Fiziki harita görünümü, harita görünümüne göre daha fazla genelleştirilmiş iki boyutlu detay ve renkli arazi rölyefi (gölgelendirme) içermektedir. Herhangi bir yazılım ve veri kullanım ücreti ödenmesi gerekmeyen bu teknoloji ile web haritalarının diğer web içerikleri ile birlikte kolayca ve düşük maliyetli olarak oluşturulması mümkündür. İnternet ortamında web sitelerinde bu tür haritalar giderek yaygınlaşmaktadır. Uygulamalar genel olarak adres ve yol tarifi üzerinde (yaya, araç ve toplu taşıma araçları ile noktadan noktaya en uygun yol tarifi) yoğunlaşmakta olup, özellikle otel rezervasyon sitelerinde, çok yaygın bir kullanım söz konusudur. tartışılmaktadır. Bu bağlamda veriler kod içinde (örneğin tek nokta), KML ya da XML dosyalarda yer alabileceği gibi, verilerin bir veri tabanından alınması ve harita için gerekli kodun dinamik olarak kullanıcı isteğine göre oluşturulması da mümkündür. Bu çalışmada Google Maps API teknolojisi tanıtılarak, web harita uygulamaları ele alınmaktadır. Konya şehir merkezi ve Selçuk Üniversitesi Alaeddin Keykubat Kampusunda yapılan uygulamalar yalnızca Google Maps verilerini değil, kullanıcılar tarafından eklenen noktasal, çizgisel ve alansal verilerin de sunumunu yapan özelleştirilmiş haritaları içermektedir. Bu haritalara sonradan eklenen veriler altlık verilerle uyum içinde görselleştirilmiş, bu verilere özgü lejant eklenmiş, yeni eklenen objelere açılır pencereler tanımlanarak bu objeler hakkında açıklamalar da bu pencerelere konmuştur. Ayrıca, KML (Google Earth özgün XML veri formatı), XML vb formatlardaki verilerin Google Maps haritalarına nasıl ekleneceği de 2.1. Web Kartografya Sonuç olarak düşük maliyetli dinamiketkileşimli web haritalarının oluşturulması için kolay ve uygulanabilir bir yaklaşım ortaya konmaktadır. Bu çalışma içeriği Bildirici vd (2009) yayını temel alarak hazırlanmıştır. Konunun akademik bilişim camiası ile paylaşılması amacıyla Bildirici vd (2009) da verilen uygulamalar bu çalışmada genişletilerek yeniden tartışılmıştır. 2. Materyal ve Metot Bu bölümde öncelikle İnternette haritalar yoluyla coğrafi/mekansal bilgi paylaşımı kapsamında web kartografya konusu ele alınacak, daha sonra bu çalışma kapsamında uygulama yapılan Google Maps hizmeti ve teknolojisi kısaca tanıtılıp, burada kullanılan JavaScript programlama dili hakkında da kısaca bilgi verilecektir. Gelişen yazılım-donanım teknolojisine paralel olarak İnternet ortamında artan erişim hızları nedeniyle grafik ve dinamik nitelikli sayfaların yayınlanması son derece kolaylaşmıştır. Erişim hızlarındaki artışa paralel olarak web tasarımı amaçlı yazlımlar da giderek gelişmektedir, web ortamında dinamik içerik kullanımı giderek yaygınlaşmış, web uygulamaları kavramı ortaya çıkmıştır. Burada artık sayfaların bir yazılım ile tasarlanması değil, sayfaların yazılım geliştirme araçlarıyla programlanması söz konusudur. İnternet gelişiminin geldiği bugünkü noktada statik ve dinamik haritalar da yaygın olarak kullanılmaktadır. İnternetin temel felsefesi yaygın bilgi paylaşımı olduğuna göre, mekânsal bilginin de paylaşılmasına ihtiyaç olduğu açıktır. Bu bağlamda Web Kartografya kavramı ortaya çıkmıştır. Web Kartografya, İnternet ortamında harita tasarımı ile uğraşan bir dal olarak tanımlanmakta olmasına rağmen, esas olarak kartografyadan bir farkı yoktur. Haritaların eğitici rolünün bilinmesi ve web ortamının geleceğin yersel referanslı (geospatial) veri ve haritalarının yayınlandığı ortam olması, araştırmaların gerek Kartografyanın gerekse Web Kartografyanın konusu olan haritanın tasarım, üretim ve kullanım konularına -kullandığı ortama bağlı olarak- yoğunlaşmasına neden olmaktadır (Uluğtekin vd, 2003, Uluğtekin ve Bildirici, 2002). Çevrenin grafik sunumu olarak nitelendirilebilecek harita, yeryüzü coğrafi obje ve ilişkilerini en iyi yansıtabilen araçtır. Haritanın tanımı da teknoloji ve içeriğinin gelişmesine bağlı olarak değişmiştir. Haritalar bu amaçlarla her türlü basılı yayın, gazete ve atlasların yanı sıra internet ortamında da kullanılmaktadır. İnternet, yeryüzüne ilişkin olguların iletişiminde yeni ve oldukça fazla olanak sunan bir ortamdır. Bu ortamın coğrafi olarak kullanımında haritalar da değişmez araçtır. 2004 yılında tanımlanan ve İnternetin gelişiminde önemli bir dönüm noktası olan “web 2.0” kavramı (URL3) web haritalarına ya da İnternette dinamik içerikli mekansal bilgi paylaşımına (haritalar yoluyla) yeni bir ivme kazandırmıştır. İnternette haritalar yoluyla mekânsal veri sunumu kartografya alanında çalışan uzmanların dikkati çekmiş ve bu konuda çok sayıda yayın yapılmıştır. Bunlar arasında öne çıkan kitaplar Kraak ve Brown (2001), Cartwright v.d. (2007), Peterson (2003) şeklinde sayılabilir. 2.2. Google Maps Bir süre Google Local olarak da adlandırılmış olan Google Maps web harita hizmeti uygulaması ve teknolojisi olup Google tarafından sağlanmaktadır. Ticari olmayan amaçlar için kullanımı ücretsizdir. Google Maps, kendi web sayfası da dahil olmak üzere (http://maps.google.com/) pek çok harita temelli servisin (Google Ride Finder, Google Transit vb) altyapısını oluşturur. Google Maps API teknolojisi ile de pek çok üçüncü parti web sayfasına hizmet verir. Google Maps yol haritaları ve belli ülkelerde çalışan yaya, araç ve toplu taşıma amaçlı rota planlayıcısı sunmaktadır. Bu temel fonksiyonlar yanında yol haritasını desteklemek üzere hidrografya, yerleşim vb verileri (çoğu kez genelleştirilmiş olarak), Google Earth içeriğinde bulunan uydu görüntülerini ve arazi rölyefini içerir. Harita ve uydu görüntüleri kombine edilebilir. Bazı ülkeler için trafik bilgileri de sağlanmaktadır. Google Maps, tasarımcılarından biri olan Lars Rasmussen’e göre “yeryüzüne ait bilgileri coğrafi olarak organize etmenin bir yolu” olarak tanımlanabilir (URL 4). Google Maps, WGS 84 datumunda Merkator Projeksiyonu’nu (normal konumlu konform silindirik projeksiyon) temel almaktadır. Projeksiyonun doğası gereği kutuplara yakın bölgelerin gösterimine çok uygun değildir. Şekil 1’de GoogleMap web sayfası dünya haritası ölçeğinde görülmektedir. Dünya seviyesinden, cadde-sokak seviyesine kadar 18 değişik ölçek ya da zoom düzeyi bulunmaktadır. En ayrıntılı düzey yaklaşık 1:5000 ölçekli bir harita ile eşdeğer olarak düşünülebilir. Sağlanan uydu görüntüleri Google Earth ile aynı içerikte olup, yeryüzünde pek çok önemli yerleşim merkezi için yüksek çözünürlükte görüntüler mevcuttur. Ülkemizde de yüksek çözünürlüklü görüntülerin kapsamı oldukça geniştir. Rota ya da yol tarifleri başlangıçta ABD, Kanada ve Avrupa Ülkeleri için sağlanmasına rağmen bu konuda oldukça hızlı bir ilerleme kaydedilmiş, Türkiye de yol tarifi verilebilen ülkeler arasında yer almaya başlamıştır. Yol tariflerine paralel olarak detaylı bir adres arama mekanizması da gereklidir. Türkiye verileri bu yönden de oldukça kapsamlıdır. Google Maps’in kapsadığı veriler çoğu ülkede Google ile anlaşmalı olan bir şirket tarafından toplanmaktadır. Az sayıda ülkede Google’ın veri sağlayıcısı bulunmamakta, bu ülkelerde veriler gönüllülerce sağlanmaktadır. Bu tip ülkelerde verilerin geometrik ve semantik olarak doğruluğu oldukça düşük düzeyde kalmaktadır. Veri sağlayıcı olan ülkelerde de verilerin doğruluğu ve güvenilirliği veri sağlayıcı şirkete bağlıdır. Türkiye veri sağlayıcısı Başar Bilgisayar’dır (URL2). Başar Bilgisayar oldukça kısa bir zamanda Türkiye verilerinin kapsamını ciddi olarak artırmıştır. Şekil 1: Google Maps web sayfası (Dünya haritası ölçeğinde) Google’ın diğer web uygulamalarına benzer şekilde Google Maps de JavaScript programlama dili kullanmaktadır. Kullanıcı haritayı kaydırdığında grid kareler halinde görüntüler sunucudan indirilir ve sayfaya eklenir. Kullanıcı herhangi bir obje aradığında (bir adres, bir işyeri vb) sonuçlar yan panel ve haritaya eklenmek üzere arka planda indirilir sayfa yeniden yüklenmez. Google, Google Maps API hizmetini program geliştiricilerin kendi sayfalarına Google haritalarını entegre edebilmeleri için geliştirmiştir. Bu hizmet ücretsiz olup şu sıralarda reklam içermemektedir. Ancak Google bu hizmet ile reklam görüntüleme hakkına sahiptir. API, uygulama programlama arayüzü (Application Programming Interface) anlamında bir kısaltma olup, ücretsiz olarak web sayfası tasarımcılarına sunulan çevrimiçi fonksiyon kütüphanelerini kapsar. Google Maps API kullanarak Google Maps haritalarını tüm özellikleri ile harici web sayfaları içinde görüntülemek mümkündür. Program geliştiricilerin bunu yapabilmek için kendi web sunucularına karşılık gelen bir anahtar kod (key) talep etmeleri gerekmektedir. Bu şekilde özelleştirilen harita Google JavaScript kodunun ve kullanıcılar tarafından amaca uygun JavaScript fonksiyonlarının sayfaya eklenmesi ile ortaya çıkar. Bu bağlamda hazırlanan web sayfaları harita “mashup”ları (map mashups) olarak da adlandırılır. Buradaki mashup kavramı birden çok web teknolojisi ve hizmetinin bir arada kullanılması anlamında olup, web 2.0 ile birlikte ortaya çıkan bir kavramdır. Google haritaları, yaygın bir şekilde üçüncü parti web sayfalarında kullanılmaktadır. Özellikle otel rezervasyon sitelerinde otellerin adresleri, kurum ve kuruluşların web sayfalarında adres tarifi amaçlı olarak yaygın bir kullanım söz konusudur. Özelleştirilen haritalar üzerinde kullanıcılar kendi objelerini de görüntülemektedirler. En basit ve en yaygın uygulama biçimi bir şirketin web sayfasında şirketin yerini bir nokta ile göstermektir. Bu durumda kullanıcının ekleyeceği veri yalnızca bir nokta koordinatıdır. Bu gibi basit uygulamalarda haritaya eklenecek veriler JavaScript kodu içinde yer alabilir. Kullanıcılar haritalara nokta yanında çizgi ve alan objeler de ekleyebilirler. Bu durumda koordinat verisi artmaya başlar ve JavaScript kodu içinde veri yer alması artık pratik olmaz. Google haritalarına program kodu dışında veri eklemek için çeşitli olanaklar vardır. Google Earth KML formatı bu amaçla kullanılabilir. Veriler Google Earth ortamında ya da KML oluşturabilen başka yazılımlarda hazırlanıp KML formatında kaydedildiğinde, bu dosya içeriği Google haritasına eklenebilir. Ancak KML obje yapısı ile Google Map API obje yapısı birbiri ile tam uyumlu olmadığından, Google Earth görünümü (işaret büyüklükleri, çizgi kalınlıkları) aynen Google Map’e aktarılamaz. Bir başka çözüm yolu XML dosya kullanmaktır. XML dosya yapısı kullanıcı tarafından belirlenir ve harita için yazılan JavaScript kodları buna göre düzenlenir. Bu seçenekte KML gibi standart bir dosya yapısı yoktur, çeşitli CBS veri formatlarında mevcut verilerin bu yapıya dönüştürülmesi için ayrıca programlama yapılması gerekebilir. Bir başka yol ise verilerin veri tabanında tutulup, JavaScript kodlarının sunucuda ASP vb bir teknikle üretilip istemciye gönderilmesidir. Google Maps API konusunda ayrıntılı bilgi ve Google Maps anahtarı almak için yapılacak işlemler URL 5 de yer almaktadır. Referans dokümanı ise URL 6 da bulunmaktadır. 2.3. JavaScript JavaScript istemci tarafında uygulama geliştirme amaçlı nesne yönelimli (object oriented) bir dildir. JavaScript kodları HTML sayfa içinde gömülü ya da ilişkilendirilmiş olup, sayfa yüklendiğinde icra edilirler. Kodların istemcide icra edilmesi başlangıçta istemci bilgisayarların kapasiteleri ve İnternet hızları nedeniyle bir sakınca olarak görülse de günümüzde bu sakınca, sakınca olmaktan çıkmıştır. Günümüzde web sayfası tasarımında çok yaygın bir kullanım alanı vardır. Programlama dilleri ya derlenir ya da yorumlanır. Derlenen programlar sonucu belli bir bilgisayar tipi ve işlemcisi için bağımsız icra edilebilir bir dosya (exe dosyası) oluşur. Yorumlanan programlama ise dilleri tek bir adımda derlenir ve icra edilirler, belli bir bilgisayar türü için geçerli bir exe dosya oluşturmazlar. Derlenen diller ile (C++, Java vb) daha hızlı çalışan kod üretilir, ancak yorumlanan diller daha fazla taşınabilir özelliktedir (platformlardan bağımsızdırlar). JavaScript web sayfalarına etkileşim eklemek için geliştirilmiştir, kodu tek bir adımda web tarayıcıda derlenir ve icra edilir. Kodun çalışıp çalışmaması işletim sistemine değil, kullanılan web tarayıcıya bağlıdır. Ticari bakış açısından JavaScript’in en önemli sakıncası kodun açık ve okunabilir olmasıdır. Debug yapma olanağının olmaması, derleyicilere göre kodun yorumlanmasındaki farklılıklar, kodun yavaş çalışması gibi sakıncalar da eklendiğinde JavaScript çok da arzu dilmeyen bir programlama seçeneği olarak da nitelenebilir. 3. Uygulama Bu bölümde Google Maps API kullanılarak yapılan dört değişik uygulama ele alınmaktadır. Bu uygulamalar, http://atlas.selcuk.edu.tr/maps adresinde yayınlanmaktadır. if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.setCenter(new GLatLng(38.025, 32.510667), 15); map.addControl(new GScaleControl()); var customUI = map.getDefaultUI(); map.setUI(customUI); var point=new GLatLng(38.02725, 32.510667); var marker=new GMarker(point); map.addOverlay(marker); GEvent.addListener(marker,"click", function() { var myHtml = "<p>SÜ MühendislikMimarlık<br>Fakültesi A Blok Giriş</p>"+point; map.openInfoWindowHtml(point, myHtml); });}} </script> </head> <body onload="load()" onunload="GUnload()"> <h2>SÜ ALAEDDİN KEYKUBAT KAMPUSU</h2> <div id="map" style="width: 500px; height: 500px"></div> </body> </html> 3.1. Nokta Ekleyerek Özelleştirilmiş Harita Yapma En basit Google harita uygulaması, boyutları, zoom düzeyi (ölçeği) ve merkezi belirlenmiş bir harita görüntüleyip, bunun üzerine basit noktalar (marker) eklemektir. Burada az sayıda nokta (ya da tek nokta) görüntüleneceğinden haritaya eklenecek veriler program kodunun içinde yer alacaktır. Aşağıda verilen kod Şekil 2’de görülen haritayı oluşturmaktadır. Bu örnekte harita üzerinde gösterilen noktaya bir de noktaya tıklanınca açılan bilgi penceresi (Infowindow) tanımlanmıştır. <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1254"/> <title>SÜ JFM BÖLÜMÜ</title> <script src="http://maps.google.com/maps?file=api&a mp;v=2&amp;key=..." type="text/javascript"></script> <script type="text/javascript"> function load() { Şekil 2: SÜ Harita Bölümü adres tarifi amacıyla oluşturulan harita 3.2. Dinamik Web Uygulaması Bir başka nokta uygulaması olarak kullanıcının verdiği koordinatı gösteren bir harita düşünülebilir. Bu amaçla yapılan uygulamada sayfanın dinamik olması için bir ASP kodu hazırlanmış, sunucu tarafında kullanıcıdan gelen bilgiye göre JavaScript kodu hazırlayıp istemciye aktaran bir sayfa hazırlanmıştır. ASP sayfa VBScript dili ile programlanmıştır. response.write "var point=new GLatLng(" & str & ");" end if %> Yukarıdaki örnek koordinatlar sonucu oluşan sayfa görüntüsü Şekil 3’te görülmektedir. Önceki örnekte olduğu gibi burada da Google’ın standart “marker” işareti kullanılmış olup, bu noktaya, nokta koordinatlarını görüntüleyen bir bilgi penceresi de eklenmiştir. 3.3. Konya Haritaları S.Ü. Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü web sayfasında bölümün yerini tarif etmek amacıyla iki adet Google haritası yapılmıştır. Bunlardan ilki gelen ziyaretçilere genel bilgileri sağlayan Konya Haritası, diğeri Alaeddin Keykubat Kampusunda bölümün yerini gösteren kampus haritasıdır. Şekil 3: Dinamik Web Uygulaması Bu amaçla hazırlanan sayfaya web tarayıcısına http://atlas.selcuk.edu.tr/maps/showme.asp? 38.0850,32.4455 yazılarak ulaşılabilir. Burada soru işaretinden sonraki ilk rakam görüntülenecek noktanın WGS84 datumunda enlemi ikincisi de boylamıdır (derece olarak ondalık biçimde). Bu sayfada bir önceki uygulamadaki kodlar aynen kullanılmakta, haritaya nokta eklenen satırlardaki kod dinamik olarak oluşturulmaktadır. Önceki örnekte noktayı oluşturan satırlar yerine aşağıdaki ASP kodu eklenmiştir. <% str=request.querystring if str="" then response.write "map.setCenter(new GLatLng(38.025, 32.510667), 15);" response.write "var point=new GLatLng(38.02725, 32.510667);" else response.write "map.setCenter(new GLatLng(" & str & "), 11);" Konya haritası üzerinde önemli yerleri (POI, Point of Interest) gösteren noktalar ve kampusa ulaşım açısından önemli olan ancak Google haritasında yer almayan tramvay hattı gösterilmiştir. Bu haritaya farklı işaretlerle gösterilen noktalar ve çizgiler eklenmiştir. İlk yapılan çalışmada önemli yerler ve tramvay hattı Google Earth yazılımında sayısallaştırılmış, elde edilen veriler KML formatında Google haritası üzerinde gösterilmiştir. Bu şekilde elde edilen haritalarda iki önemli sorunla karşılaşılmıştır: Noktaların işaret büyüklükleri, çizgilerin çizgi kalınlıkları değiştirilememektedir. KML içeriği değiştiğinde bu değişiklik haritaya hemen yansımamaktadır. Bu iki sorunu aşmak için bir XML veri yapısı geliştirilmiştir. Noktalar marker etiketi altında tanımlanmakta ve Tablo 1 deki özniteliklere sahip olmaktadır. Bu yapıya uygun bir Excel dosyası hazırlanmış, XML formatında dosya Excel yazılımdan üretilmiştir. KML formatında mevcut veriler için ise KML formatından çeşitli formatlara dönüşüm için Öztuğ Bildirici tarafından geliştirilen kml2dxf programı XML dosya elde edilecek şekilde düzenlenmiştir. Öznitelik Lat Long İtem Desc ico_wsize ico_hsize ico_wssize ico_hssize ico_icon ico_shadow a01 … a03 Açıklama Noktanın enlemi Noktanın boylamı Obje adı Tanımlayıcı bilgiler (Bilgi penceresi içeriği HTML olarak) İşaret eni İşaret boyu İşaret gölgesinin eni İşaret gölgesinin boyu İşaret resim dosyası yolu İşaret gölgesi resim dosyası yolu Ek öznitelikler Tablo 1: XML veri yapısında öznitelikler Noktalar için tanımlanan desc özniteliği HTML kodu olarak hazırlanmış, burada ilgili noktalara ait resimlerin yolları da belirtilmiştir. Bu şekilde noktaların üzerine fare ile gidildiğinde açılan bilgi penceresinde nokta adı ve varsa ilgili resim görüntülenmektedir. Tramvay hattı çok sayıda noktadan oluşmaktadır. Bu amaçla da bir XML dosya yapısı tanımlanmıştır. Burada çizgi obje polyline etiketi altında tanımlanmakta olup, çizgi rengi (color), çizgi kalınlığı (weight), çizgi şeffalığı (opacity), seçenek (option, burada jeodezik eğri olup olmadığı belirtilmekte) ve bilgi penceresi içeriği (html) öznitelikleri tanımlanmıştır. Polyline etiketi altında point etiketleri koordinatları öznitelik olmak üzere yer almaktadır. Örnek bir dosya yapısı aşağıdaki gibidir. <markers> <polyline color="#000033" weight="2" opacity="0.7" option=""> <point lat="38.002937" long="32.519718" /> <point lat="38.004994" long="32.519749" /> <point lat="38.006187" long="32.519624" /> <point lat="38.009420" long="32.518799" /> <point lat="38.013200" long="32.517495" /> </polyline> </markers> Hat KML formatında hazırlanmış, kml2dxf programı kullanılarak yukarıda tanımlanan XML formatına dönüştürülmüştür. Hazırlanan sayfaya haritayı kontrol eden butonlar eklenmiştir. Bu şekilde eklenen işaretlerin açılıp kapatılması, tramvay hattının açılıp kapatılması, bölümün bulunduğu yere odaklanılması olanağı sağlanmıştır. Haritaya eklenen noktalar için HTML olarak bir lejant hazırlamıştır. Harita yanında sayfada ulaşım ve konaklama ile ilgili bilgiler de yer almaktadır. Sayfaya http://atlas.selcuk.edu.tr /maps/konya2.htm adresinden ulaşılabilir. Sayfanın üst bölümü Şekil 4’de görülmektedir. Kampus haritasında ise, GoogleMaps haritasında yer almayan tramvay hattı, kampus içi tramvay durakları, binalar gösterilmiştir. Kongre ve konferanslarda önemli olduğundan Süleyman Demirel Kültür Merkezi ve adres tarifi amacıyla Mühendislik-Mimarlık Fakültesi A blok giriş kapısı ayrıca nokta objeler olarak haritaya eklenmiştir. Şekil 5’te görülen sayfaya http://atlas.selcuk.edu.tr/maps/kampus2.htm adresinden ulaşılabilir. 3.4. Konya Deprem Fırtınası Haritası Bu uygulamada Konya kent merkezinde 10.11.2009 tarihinde başlayan büyüklüğü 4 üzeri iki depremle başlayan ve iki ay süren deprem fırtınası konu olarak seçilmiştir. Söz konusu zaman periyodunda büyüklüğü ikiden fazla yaklaşık 90 deprem kaydedilmiştir. Boğaziçi Üniversitesi Kandilli Rasathanesi ve Deprem Araştırma Enstitüsü tarafından web ortamında yayınlanan veriler bu harita için temel alınmıştır (URL7). Bu verilerde her satır, tarih, saat, deprem merkezinin coğrafi koordinatları, deprem büyüklüğü vb bilgileri içermekte olup, bu satırlar web sayfasından bir metin dosyasına aktarılarak saklanmıştır. Daha sonra geliştirilen bir program ile bu metin dosyası tablo 1’de özellikleri açıklanmış olan XML dosyasına dönüştürülmüştür. Bu yapıda ayrılan ek özniteliklere deprem büyüklüğü ve zaman bilgisi de girilerek deprem büyüklüğüne ve depremin gerçekleştiği aya göre değişen nokta işaretlerin tanımlanması sağlanmıştır. Oluşturulan harita şekil 6’da görülmektedir. 4. Sonuç ve Öneriler Bu çalışmada ücretsiz web harita hizmeti ve teknolojisi olan Google Maps ele alınmış, Google Maps hizmeti kısaca tanıtılıp, Google Maps ile birlikte sunulan ve harici web sayfalarında Google Maps tarafından sağlanan haritaları eklemek için kullanılan Google Maps API programlama altyapısı ele alınmıştır. Bu altyapı üzerinde JavaScript dili kullanılarak programlama yapılmakta, dinamik web haritaları elde edilebilmektedir. Kullanıcılar (programcılar) isterlerse haritalarını nokta, çizgi ve alan objeler kullanarak özelleştirebilmekte, başka bir ifade ile altlık harita üzerinde kendi haritalarını görüntüleyebilmektedirler. Yapılan uygulamalar ile haritaların harici web sayfalarına nasıl ekleneceği, nasıl özelleştirilebileceği gösterilmiştir. Burada önemli olan haritalara sonradan eklenen verilerin etkin olarak gösterilmesi ve güncellenebilmesidir. Önerilen XML dosya yapısı ile verilerin program kodunda hiçbir değişiklik yapmadan güncellenebileceği gösterilmiştir. Bu şekilde uzman programcılar tarafından hazırlanan özelleştirilmiş haritaların güncellenmesi programlama konusundan uzman olmayan kişilerce de yapılabilir. Sonuç olarak Google Maps ve Google Maps API hizmetleri web 2.0 ile gündeme gelen kartografya açısından çok önemli hizmet ve teknolojilerdir. Web kartografya alanında yeni ve önceden hayal edilemeyecek derece güçlü olanaklar sunmaktadırlar. 5. Kaynaklar Bildirici, İ.Ö., Böge, S., Alpsal, B.S., 2009, Ücretsiz Veri ve Teknolojiler ile Web Haritalarının Oluşturulması: Google Map API Teknolojisi,TMMOB Coğrafi Bilgi Sistemleri Kongresi 2009 02-06 Kasım 2009, İzmir Cartwright, W., Peterson, M.P., Gartner, G., 2007, Multimedia Cartography, Second Edition, Springer, Berlin, Heidelberg, New York. Kraak, M.J., Brown, A., 2001, Web Cartography, Taylor & Francis, London. Peterson, M.P. (ed), 2003, Maps and the Internet, Elsevier Science. Uluğtekin, N., Bildirici, İ.Ö., 2002, Web Kartografya , S.Ü. Jeodezi ve Fotogrametri Müh. Öğretiminde 30.Yıl Sempozyumu, 1618 Ekim, 2002, 351-363 , Konya Uluğtekin, N., Bildirici, İ.Ö., Doğru, A.Ö., 2003, Web Haritalarının Tasarımı , 9. Türkiye Harita Bilimsel ve Teknik Kurultayı 31/0304/04/2003, 347-360 , Ankara. URL1: http://www.techterms.com/definition/mashup (01.09.2009) URL2: http://www.basarsoft.com.tr URL3: http://en.wikipedia.org/wiki/Web2.0 URL4: http://en.wikipedia.org/wiki/Googlemaps URL5: http://code.google.com/intl/tr/apis/maps/ URL6: http://code.google.com/intl/tr/apis/maps/docu mentation/reference.htm URL7: http:// http://www.koeri.boun.edu.tr/scripts/lst9.asp Not: Tüm web sayfalarının Şubat 2010 durumları esas alınmıştır. Şekil 4: Konya haritası uygulaması Şekil 5: Kampus haritası uygulaması Şekil 6: Konya deprem fırtınası uygulaması (http://atlas.selcuk.edu.tr/maps/kondep.htm)