|
|
|
ใครเคยทำ ดึงโค้ดจาก .kml ที่ใช้กับ google ลงฐานข้อมูล บ้าง |
|
|
|
|
|
|
|
Code (XML)
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<name><![CDATA[NSL_Maung28]]></name>
<open>1</open>
<Snippet maxLines="2"></Snippet>
<description><![CDATA[Exported from NSL_Maung28 on 26/10/2553]]></description>
<Style id="FEATURES">
<LineStyle>
<color>FF0000FF</color>
<width>1</width>
</LineStyle>
<PolyStyle>
<outline>1</outline>
<fill>0</fill>
</PolyStyle>
<BalloonStyle>
<text>
<![CDATA[]]>
</text>
</BalloonStyle>
</Style>
<Folder>
<name>Features</name>
<open>0</open>
<Placemark>
<name><![CDATA[0040]]></name>
<Snippet maxLines="2"></Snippet>
<styleUrl>#FEATURES</styleUrl>
<Polygon>
<extrude>0</extrude>
<altitudeMode>clampedToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
99.7529913594233,19.903018695129,0
99.7538682259092,19.9052130491353,0
99.7522990344485,19.9048988487776,0
99.7520699339395,19.9037012160897,0
99.7529913594233,19.903018695129,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name><![CDATA[0043]]></name>
<Snippet maxLines="2"></Snippet>
<styleUrl>#FEATURES</styleUrl>
<Polygon>
<extrude>0</extrude>
<altitudeMode>clampedToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
99.9079166521138,19.7677174802442,0
99.9082915978202,19.7663957145113,0
99.9095881920936,19.7662943170224,0
99.9097177629788,19.7668091123631,0
99.910211687712,19.766759716886,0
99.9102489639645,19.7671607483832,0
99.9106412363492,19.7671546921536,0
99.9100982361789,19.7687761292115,0
99.9089099070739,19.7681114059829,0
99.9086395336413,19.7681087341007,0
99.9079166521138,19.7677174802442,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name><![CDATA[0446]]></name>
<Snippet maxLines="2"></Snippet>
<styleUrl>#FEATURES</styleUrl>
<Polygon>
<extrude>0</extrude>
<altitudeMode>clampedToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
99.6732042615988,19.8150196692394,0
99.6741698444752,19.8147176221237,0
99.6747509379947,19.8159303041693,0
99.6737083381342,19.8165518074068,0
99.6732042615988,19.8150196692394,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Folder>
</Document>
</kml>
Tag : PHP
|
ประวัติการแก้ไข 2011-07-21 09:19:07
|
|
|
|
|
Date :
2011-07-21 09:15:21 |
By :
ckcr |
View :
2592 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้ว
|
|
|
|
|
Date :
2011-07-23 11:38:09 |
By :
ckcr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลงโค้ดไว้หน่อยได้ไม๊ อยากทำเหมือนกันอ่ะ
|
|
|
|
|
Date :
2011-07-23 14:54:47 |
By :
กำลังติดเลย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เทพวุ้ย
|
|
|
|
|
Date :
2011-07-23 15:06:10 |
By :
killkwai |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยเขียนไว้ด้วยน่ะครับ
|
|
|
|
|
Date :
2011-07-23 17:06:49 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รออยูครับ รอเอามาลง
|
|
|
|
|
Date :
2011-07-24 00:13:08 |
By :
สวัสดี |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค้ดสำหรับดึง ข้อมูลมาโชว์
Code (PHP)
<?php
//invalid xml file
$xmlfile = 'nsl_Maung28.kml';
$xmlparser = xml_parser_create();
// open a file and read data
$fp = fopen($xmlfile, 'r');
$xmldata = fread($fp, 4096);
xml_parse_into_struct($xmlparser,$xmldata,$values);
xml_parser_free($xmlparser);
for($i=0;$i<sizeof($values);$i++){
print_r($values[$i]);
echo "<br>";
}
?>
แล้วจะแสดงมาเป็นแบบนี้
แล้วก็ใช้ เงื่อนไขมาใช้เพื่อเอาข้อมูลที่ต้องการ
Code (PHP)
<?php
//invalid xml file
$xmlfile = 'nsl_Maung28.kml';
$xmlparser = xml_parser_create();
// open a file and read data
$fp = fopen($xmlfile, 'r');
$xmldata = fread($fp, 100000);
xml_parse_into_struct($xmlparser,$xmldata,$values);
xml_parser_free($xmlparser);
// เชื่่อมต่อฐานข้อมูล
$host="localhost";
$username="root";
$pass_word="";
$db="inxml";
$Conn = mysql_connect( $host,$username,$pass_word) or die ("ติดต่อฐานข้อมูลไม่ได้");
mysql_query("SET NAMES utf8",$Conn);
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
for($i=0;$i<sizeof($values);$i++){
$sql = "INSERT INTO mapxml (NAME) VALUES (";
if($values[$i]['tag']=="NAME" && $values[$i]['level']==5){
$NAME= "'".$values[$i]['value']."'";
$sql.= "$NAME)";
mysql_query($sql);
echo $sql;
echo "<br>";
//mysql_insert_id;
}
if($values[$i]['tag']=="COORDINATES" && $values[$i]['level']==8){
$COORDINATES= "'".$values[$i]['value']."'";
//$id=mysql_insert_id;
//echo $id;
$sql1="select * from mapxml";
$query1=mysql_query($sql1);
while($rs=mysql_fetch_array($query1)){;
$sql1= "UPDATE mapxml SET COORDINATES=$COORDINATES WHERE id='$rs[id]' ";
}
mysql_query($sql1);
echo $sql1;
echo "<br>";
}
นี้ผม งมๆเอาเหมือนกัน แต่ก็นำไปใช้ได้เก็บลงฐานข้อมูลได้เหมือนกันครับ
ถ้าใครเอาดัดแปลงแล้ว โค้ดดูง่ายกว่าช่วยมาลงด้วยนะครับ
ถ้าชอบช่วย +1 ผมด้วยนะ
|
ประวัติการแก้ไข 2011-07-24 12:44:57 2011-07-24 12:47:02
|
|
|
|
Date :
2011-07-24 12:43:08 |
By :
ckcr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+1 ให้แล้วครับ
|
|
|
|
|
Date :
2011-07-25 06:28:00 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$doc = new DOMDocument();
$doc->load( 'nsl_Maung28.kml' );
$employees = $doc->getElementsByTagName( "Placemark" );
foreach( $Placemarks as $Placemark )
{
$names = $Placemark->getElementsByTagName( "name" );
$name = $names->item(0)->nodeValue;
$coordinates= $Placemark->getElementsByTagName( "coordinates" );
$coord= $coordinates->item(0)->nodeValue;
echo "$name <br/> $coord <br/>"; //insert ข้อมูลตรงนี้ตามตัวแปร
}
?>
อีกแบบ เอาใช้กับ rss ก็ ok
|
|
|
|
|
Date :
2011-08-01 16:32:15 |
By :
ckcr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบพระคุณอย่างสูงค่ะ
|
|
|
|
|
Date :
2013-03-13 15:55:27 |
By :
อันยอง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|