下面是一个进行地理编码的脚本,你可以输入一个城市和街道,然后它就会查找它。我只需要一个简单的脚本,可以搜索在kml文件中的位置,假设你输入了一些城市和街道,如果它是一个标记或kml文件中的折线(基本上作为一个名字),那么屏幕的中心就在它上面。只要这个简单的脚本就会受到欢迎。或者你可以告诉我如何转换这个:
<!--
var mapa;
var dymek;
var geokoder = new google.maps.Geocoder();
var rozmiar = new google.maps.Size(32,32);
var rozmiar_cien = new google.maps.Size(59,32);
var punkt_startowy = new google.maps.Point(0,0);
var punkt_zaczepienia = new google.maps.Point(16,16);
var ikona = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal3/icon52.png", rozmiar, punkt_startowy, punkt_zaczepienia);
var cien = new google.maps.MarkerImage("http://maps.google.com/mapfiles/kml/pal3/icon52s.png", rozmiar_cien, punkt_startowy, punkt_zaczepienia);
var wskaznik = new google.maps.Marker({icon: ikona, shadow: cien});
function mapaStart()
{
var wspolrzedne = new google.maps.LatLng(37.7671, -122.4206);
var opcjeMapy = {
zoom: 15,
center: wspolrzedne,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
};
mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);
dymek = new google.maps.InfoWindow();
geokoder.geocode({address: 'Szczecin, Krzywoustego 23'}, obslugaGeokodowania);
var ctaLayer = new google.maps.KmlLayer({ url: 'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml'});
ctaLayer.setMap(mapa);
//poniżej marker/tag
var punkt = new google.maps.LatLng(53.400,14.400); // definiujemy punkt o współrzędnych 53.400,14.400
var opcjeMarkera =
{
position: punkt,
map: mapa,
title: 'Pierwszy marker!'
}
var marker = new google.maps.Marker(opcjeMarkera);
}
function skoczDoAdresu(adres)
{
wskaznik.setMap(null);
geokoder.geocode({address: adres}, function(wyniki, status)
{
if(status == google.maps.GeocoderStatus.OK)
{
mapa.setCenter(wyniki[0].geometry.location);
wskaznik.setPosition(wyniki[0].geometry.location);
wskaznik.setMap(mapa);
dymek.open(mapa, wskaznik);
dymek.setContent('<strong>Poszukiwany adres</strong><br />'+adres);
}
else
{
alert("Nie znalazłem podanego adresu!");
}
});
}
function obslugaGeokodowania(wyniki, status)
{
}
function skoczdotaga(tag)
{
wskaznik.SetMap(null);
if(status == google.maps.GeocoderStatus.OK)
{
mapa.setCenter(wyniki[0].geometry.location);
wskaznik.setPosition(wyniki[0].geometry.location);
wskaznik.setMap(mapa);
dymek.open(mapa, wskaznik);
dymek.setContent('<strong>Poszukiwany adres</strong><br />'+adres);
}
else
{
alert("Brak planów instalacji w tym rejonie");
}
}
-->
</script>发布于 2013-11-19 02:34:41
Google Maps Javascript API KML不允许访问v3文件中的特性数据,除非是在单击事件中。要访问该数据,您需要执行以下任一操作:
来访问数据
Google CTA KML with sidebar (使用geoxml3)
FusionTables example with sidebar (使用google可视化API访问融合表中的数据)
https://stackoverflow.com/questions/20054771
复制相似问题