Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Mobile > Mobile Forum > Android อยากให้กล้องของ Google Map Zoom ในระยะกึ่งกลางสองจุดบนแผนที่ครับ ทำไงครับ



 

Android อยากให้กล้องของ Google Map Zoom ในระยะกึ่งกลางสองจุดบนแผนที่ครับ ทำไงครับ

 



Topic : 094853



โพสกระทู้ ( 170 )
บทความ ( 0 )



สถานะออฟไลน์




อยากทราบโค้ด Google Map ให้กล้องมัน Pan อัตโนมัติกึ่งกลางระหว่างสองจุด ให้พอดีกับสองจุด คำนวณยังไงครับ ???



Tag : Android, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-07 22:23:20 By : ppstlineage View : 1256 Reply : 1
 

 

No. 1



โพสกระทู้ ( 33 )
บทความ ( 0 )



สถานะออฟไลน์


ลองดูนะครับ!!
แก้ไขไฟล์ res/layout/activity_main.xml ก่อน


Code (XML)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"/>
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:gravity="center"
        android:text="TextView" />
</RelativeLayout>


แล้วก็แก้ไขไฟล์ MainActivity.java โดยเพิ่ม event OnCameraChangeListener

Code (Android-Java)
//MainActivity.java
package utehn.dev.map;
 
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.widget.TextView;
import android.widget.Toast;
 
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnCameraChangeListener;
import com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener;
import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
import com.google.android.gms.maps.GoogleMap.OnMapLongClickListener;
import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
 
public class MainActivity extends FragmentActivity implements
                                    OnCameraChangeListener,
                                    OnMapClickListener, 
                                    OnMapLongClickListener,
                                    OnInfoWindowClickListener{//implement interface ที่ต้องการใช้งานไว้ก่อน 
    private GoogleMap myMap;
    private TextView tvCenter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        tvCenter = (TextView)findViewById(R.id.textView1);      
         
         SupportMapFragment mySupportMapFragment = 
                 (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
         myMap = mySupportMapFragment.getMap();      
          
         myMap.setOnMapClickListener(this);
         myMap.setOnMapLongClickListener(this);
         myMap.setOnInfoWindowClickListener(this);
         myMap.setOnCameraChangeListener(this);
         myMap.setMyLocationEnabled(true);
          
         // ตั้งค่า postion ของ map และระดับการ zoom
         myMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(15,100),8));      
          
            
         // การ add marker แบบต่างๆ
          myMap.addMarker(new MarkerOptions()
            .position(new LatLng(15.1123,100.05612))                            
            .title("Nomal Marker")
            .snippet("content"));
           
          myMap.addMarker(new MarkerOptions()
            .position(new LatLng(15.4231,100.45612))
            //.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
            //.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
            //.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_VIOLET))
            .title("Nomal Color Marker")
            .snippet("content"));         
     
          myMap.addMarker(new MarkerOptions()
            .position(new LatLng(15,100.45612))             
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))             
            .title("Nomal Green Marker")
            .snippet("content"));
           
          myMap.addMarker(new MarkerOptions()
            .position(new LatLng(15.55234,100))
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
            .title("Custom Marker")
            .snippet("content"));
 
    }// end onCreate
     
 
    @Override
    protected void onResume() {     
        super.onResume();
         
        // เชคว่า มี googleplay service อยู่หรือไม่
        final int RQS_GooglePlayServices = 1;
        int resultCode = 
                GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
         
        if (resultCode == ConnectionResult.SUCCESS){
            Toast.makeText(getApplicationContext(), 
                    "GooglePlayServices is Available", 
                    Toast.LENGTH_LONG).show();
        }else{
            GooglePlayServicesUtil.getErrorDialog(resultCode, this, RQS_GooglePlayServices);
        }
         
    } // end onResume
     
    @Override
    public void onMapLongClick(LatLng point) {// LongClick ที่ Map
        // คำสั่ง add Marker
        myMap.addMarker(new MarkerOptions().position(point).title(point.toString()));
        Toast.makeText(getApplicationContext(), 
                "เพิ่ม  Marker สำเร็จ", 
                Toast.LENGTH_LONG).show();      
    }   
 
    @Override
    public void onMapClick(LatLng point) {  // Click ที่ map
        // ล้าง  overley บน map
        //myMap.clear();
        // เลื่อนตำแหน่งที่ถูก click มาตรงกลาง
        myMap.animateCamera(CameraUpdateFactory.newLatLng(point));
    }
 
    @Override
    public void onInfoWindowClick(Marker marker) {// คลิกที่ infowindow ของ marker แต่ละตัว
         
        marker.hideInfoWindow();
        Toast.makeText(getApplicationContext(), 
                marker.getTitle()+"\n"+marker.getPosition().toString(), 
                Toast.LENGTH_LONG).show();      
    }
 
    @Override
    public void onCameraChange(CameraPosition point) {// เหตุการณ์ เมื่อเลื่อนแผนที่
        LatLng center = point.target;
        // แสดงพิกัดบน TextView
        tvCenter.setText(center.latitude+", "+center.longitude);
         
    }
 
}// end MainClass


เมื่อทำการเลื่อนแผนที่ ค่าพิกัด ก็จะเปลี่ยนแปลงไปเรื่อยๆครับ

credit : [email protected]








ประวัติการแก้ไข
2013-05-13 09:59:21
2013-05-13 09:59:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-13 09:58:47 By : SponG_Gy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Android อยากให้กล้องของ Google Map Zoom ในระยะกึ่งกลางสองจุดบนแผนที่ครับ ทำไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่