mkmapview و setregion: الرسوم المتحركة: لا يقوم بتحديث صور الخريطة

StackOverflow https://stackoverflow.com/questions/1095508

سؤال

تحيات! أحاول استخدام mkmapview. بدون أي عينات شفرة التفاح، على الرغم من وجود عدد قليل من الآخرين هناك وضوح متفاوت. (أعرف، "اقرأ الدليل الودي." لقد فعلت ذلك، لكنها ليست واضحة 100٪، لذا يرجى تحمل معي في هذا واحد.)

ها هو الوضع. انا املك mkmapview. كائن، حيث أضافت مجموعة من حوالي عشرة mkpinannotation. أشياء. حتى الان جيدة جدا. يتم تخصيص كل شيء / أصدره Secely وليس هناك أي شكاوى من الأدوات.

عند العرض الأولي، قمت بإعداد mkcoordinateregion. الاعتراض مع CenterPoint في موقع PIN الأول لدينا، و A (التعسفي) تمتد من 0.2 × 0.2. ثم اتصلت:

[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];

رائع! هذا يعمل بشكل جيد.

وفي الوقت نفسه ... لدي رقابة مجزأة للسماح بالحركة لكل موقع دبوس. حتى تتمكن من النقر عبر القائمة، تقوم الخريطة بالتحفيز على كل موقع دبوس جديد مع زوج جديد من المكالمات إلى SetRegion: الرسوم المتحركة: و الإقليمية: ... أو على الأقل هذه هي الفكرة.

بينما تقوم الخريطة ب "السفر" إلى موقع PIN الجديد، فإن الخريطة نفسها لا يتم تحديثها أسفل. بدلا من ذلك، أرى رقم التعريف الشخصي على خلفية رمادية / فارغة ... حتى أنا دفع الخريطة في أي اتجاه، ولكن قليلا. ثم تظهر الخريطة من خلال! (إذا كنت تتحرك فقط على بعد مسافة قصيرة من موقع التعريف الشخصي السابق، سأرى عادة ما تم تحميل جزء من الخريطة بالفعل.)

أظن أنني أفعل شيئا غبي هنا، لكنني لم أتمكن من معرفة ما، على الأقل ليس من مستندات mapkit. ربما أنا أستخدم المكالمات الخاطئة؟ (حسنا، أنا بحاجة إلى ضبط المنطقة مرة واحدة على الأقل، نعم؟ تتحرك حولها لا يبدو أنه يساعد على الرغم من ذلك.) لقد حاولت أيضا استخدام SetCenterCoordinate: الرسوم المتحركة: - نفس المشكلة.

أنا أفترض شيئا في هذه المرحلة (لا تهدف التورية). مجرد محاولة العثور على طريقي.

إعلانات ترحيب / تقدير!

تحديث: الاتصال. SetRegion: الرسوم المتحركة: و الإقليمية: المرة الأولى، تليها SetCenterCoordinate: الرسوم المتحركة: أثناء عبور القائمة، ليس له أي تأثير. العثور على مثيرة للاهتمام رغم ذلك: إذا قمت بتغيير الرسوم المتحركة إلى NO في كلتا الحالتين، فإن تحديثات الخريطة !!! فقط عندما يتم ضبطها على نعم. (WHA يحدث ؟! هو الرسوم المتحركة: كسر؟ لا يمكن أن يكون ... ؟؟؟)

هل كانت مفيدة؟

المحلول

اتضح أن تحديث الخريطة لا يعمل عند استخدام Simulator. عندما أحاول SetCenterCoordinate: الرسوم المتحركة: على الجهاز، أنا فعل احصل على تحديث الخريطة تحتها.

خلاصة القول: كنت موثوقا بالمحاكاة لتتناسب مع الجهاز من حيث خريطة التحديث السلوك. للأسف، كنت مخطئا! الدرس المستفاد. "لا تدع هذا يحصل لك." :)

نصائح أخرى

تحتاج إلى استدعاء setRegion:animated: اتصل في سياق الخيط الرئيسي. فقط افعل شيئا مثل:

....
[self performSelectorOnMainThread:@selector(updateMyMap) withObject:nil waitUntilDone:NO];

}

-(void) updateMyMap {
    [myMap setRegion:myRegion animated:YES];    
}

وينبغي أن تعمل في أي حال (الرسوم المتحركة أم لا)، مع تحديث الخريطة تحتها.

همهام غريب. تحديثات الخريطة على My Mac حتى في المحاكاة. ربما إعداد شبكة (وكيل أو أيا كان) يمنع القطعة خريطة الخريطة لتنزيل البلاط على المحاكاة؟

على الرغم من أن هذا هو موضوع قديم اعتقدت أنني أرقد في تجربتي. يبدو أن الرسوم المتحركة الخريطة تفشل فقط على الأجهزة التي تعمل على تشغيل iOS 3.1.x والمحاكاة التي تعمل 3.1.x. فشل Dev iPod Touch مع 3.1.3 في التكبير إذا كان الرسوم المتحركة قيد التشغيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top