WebSettings settings = webView.getSettings();    settings.setJavaScriptEnabled(true);   
settings.setJavaScriptCanOpenWindowsAutomatically(true);  
...  
settings.setDatabaseEnabled(true);   
settings.setDatabasePath("/data/data/your.package.name/database_name");

然后需要继承onExceededDatabaseQuota它在WebChromeClient 里面

public void onExceededDatabaseQuota(String url, String 
databaseIdentifier, long currentQuota, long estimatedSize, long 
totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) { 
                quotaUpdater.updateQuota(204801); 
}

2.

<?php 
header('Content-type: application/vnd.google-earth.kml+xml');
echo '<kml xmlns="http://www.google.com/earth/kml/2">'; 
echo '<Placemark>'; 
echo '<name>Google Inc.</name>'; 
echo '<description>1600 Amphitheatre Parkway, Mountain View, CA 94043</description>'; 
echo '<Point>'; 
echo '<coordinates>-122.0841430, 37.4219720, 0</coordinates>'; 
echo '</Point>'; 
echo '</Placemark>'; 
echo '</kml>'; 
 ?>


然后

final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, 
                    Uri.parse("geo:0,0?q=http://website.com/kml_gen.php")); 
                    startActivity(myIntent);


http://googlemapsmania.blogspot.com/2007/07/google-maps-geo-search-part-22.html

http://googlemapsapi.blogspot.com/2007/06/validate-your-kml-online-or-offline.html